<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>derxen Blog &#187; 2011 &#187; September</title>
	<atom:link href="http://www.derxen.de/blog/2011/09/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.derxen.de/blog</link>
	<description>systematisch, funktionell, kreativ</description>
	<lastBuildDate>Thu, 10 Jul 2014 13:10:35 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.41</generator>
	<item>
		<title>H-TRONIC USB Datenerfassungssystem per JAVA (HB627)</title>
		<link>http://www.derxen.de/blog/2011/technik/h-tronic-usb-datenerfassungssystem-per-java-hb627/</link>
		<comments>http://www.derxen.de/blog/2011/technik/h-tronic-usb-datenerfassungssystem-per-java-hb627/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 14:52:52 +0000</pubDate>
		<dc:creator><![CDATA[Heinrich]]></dc:creator>
				<category><![CDATA[Technik]]></category>
		<category><![CDATA[Datenerfassungssystem]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[Schnittstelle]]></category>
		<category><![CDATA[USB]]></category>

		<guid isPermaLink="false">http://www.derxen.de/blog/?p=1825</guid>
		<description><![CDATA[H-TRONIC USB 12-Bit-Datenerfassungssystem (HB627) mit JAVA steuern Update 18.03.2012: Absturzursache behoben (falls nicht alle Bytes empfangen wurden und die ArrayList nicht die erwartete Länge bekam). Der Code hier im Artikel wurde dementsprechend auch aktualisiert. Mit dieser Platine kann man 8 verschiedene analoge Signale im Spannungsbereich von 0 bis 4095 mV messen. Dies tut die Karte [&#8230;]]]></description>
				<content:encoded><![CDATA[<div style="width: 230px" class="wp-caption alignleft"><a href="http://www.google.de/products/catalog?q=H-Tronic+12+Bit+USB-Datenerfassungssystem&amp;hl=de&amp;client=firefox-a&amp;hs=mlJ&amp;rls=org.mozilla:de:official&amp;prmd=ivns&amp;biw=1366&amp;bih=613&amp;um=1&amp;ie=UTF-8&amp;tbm=shop&amp;cid=10500545739129634256&amp;sa=X&amp;ei=szx3TtbSMs74sgakqOyWCw&amp;ved=0CEgQ8wIwAA"><img src="http://lh3.googleusercontent.com/public/kwLklZrJ7lN1_9FVp_mUZasNv-Ax4NzFwk6jySRTXmbf1FjIUWW9fQcNDmlfY6kah8atl8fQbGjAuXYHoakLO4OLXHqNZA6Ik3TKejmcy9w1Pl_iCdJLr7xIcUH7dYiodlLTvwuWf7mVXF9iUJH7GaAlLe-xFwVTat8ete-Si4v-kj_pCJJtA8I35Ouz2v9iAkxBhNRgZkL2j0iRigikf3wJRdPSHO9wVVIWzrHR3KEW3CSfr3aD92RCJL1bNCw_TNx19k15h8qVu-nad9AmQ1jhPQ" alt="H-TRONIC USB 12-Bit-Datenerfassungssystem Baustein (Quelle: Google)" width="220" height="220" /></a><p class="wp-caption-text">H-TRONIC USB 12-Bit-Datenerfassungssystem Baustein (Quelle: Google)</p></div>
<p><strong>H-TRONIC USB 12-Bit-Datenerfassungssystem (HB627) mit JAVA steuern</strong></p>
<p><strong>Update 18.03.2012:</strong> Absturzursache behoben (falls nicht alle Bytes empfangen wurden und die ArrayList nicht die erwartete Länge bekam). Der Code hier im Artikel wurde dementsprechend auch aktualisiert.</p>
<p>Mit dieser Platine kann man 8 verschiedene analoge Signale im Spannungsbereich von 0 bis 4095 mV messen. Dies tut die Karte im Grunde auch sehr zuverlässig, jedoch kann man sich, gerade als JAVA-Nutzer, an einigen Ecken der Lieferung ärgern. Dazu später mehr.</p>
<p><strong>Das Prinzip</strong></p>
<p>Wir senden eine Byte-Folge an die Karte (Befehl) und erhalten die aktuellen Spannungswerte als Antwort zurück. Laut Handbuch geht das 300x in der Sekunde, bei mir läuft die Karte allerdings erst bei höchstens 75 Abfragen in der Sekunde stabil, was aber (im Grunde)* immer noch sehr schnell ist.<strong><br />
</strong></p>
<p><strong>Pro-Argumente</strong></p>
<ul>
<li>Messungen (im Grunde)* sehr genau</li>
<li>Arbeitet (im Grunde)* sehr schnell</li>
<li>Gute Verarbeitung</li>
</ul>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong> </strong></p>
<p><strong>Contra-Argumente</strong></p>
<ul>
<li>(*) Nur unter ideal-Voraussetzungen: Wenn an einem Kontakt kein geschlossener Stromkreis mit einer gewissen Spannung anliegt, so bekommt man für diesen Kontakt einen &#8222;Zufallswert&#8220; als Spannung geliefert. So muss man durch eine Messreihe unerwünschte Messergebnisse erfassen und rausfiltern. Das erhöht den Arbeitsaufwand für einen brauchbare Messreihe. Dieser Fehler der Karte ist besonders ärgerlich, wenn man (wie ich) eben messen will, ob ein Stromkreis geschlossen oder offen ist.<strong> </strong></li>
<li>Kein Stecker mitgeliefert</li>
<li>Karte kann nicht Kaskadiert werden (mehrere in &#8222;Reihe&#8220; schalten und über einen USB-Port steuern)</li>
<li>Handbuch / Dokumentation sehr mager</li>
</ul>
<div id="attachment_1835" style="width: 190px" class="wp-caption alignleft"><a href="http://www.derxen.de/blog/wp-content/uploads/2011/09/hb627-messreihe.png"><img class="size-medium wp-image-1835 " title="hb627-messreihe" src="http://www.derxen.de/blog/wp-content/uploads/2011/09/hb627-messreihe-300x151.png" alt="Mitgeliefertes Beispielprogramm: Liegt keine Spannung an, so erhalten wir willkürliche Spannungswerte. An Kontakt 8 liegt eine konstante Spannung an." width="180" height="91" /></a><p class="wp-caption-text">Mitgeliefertes Beispielprogramm: Liegt keine Spannung an, so erhalten wir willkürliche Spannungswerte. An Kontakt 8 liegt eine konstante Spannung an.</p></div>
<div style="clear: both;">.</div>
<p><strong>Anwendung der JAVA-Klasse</strong></p>
<p><strong>Die im folgenden beschriebene JAVA-Klasse braucht KEINE &#8222;Idealvoraussetzungen&#8220; (wie unter Contra (*) beschrieben). Der Preis dafür ist lediglich, dass die Abfrage etwas länger dauert.</strong> Das Prinzip: Es werden mehrere Messungen (cfg: &#8222;newLaps&#8220;) unmittelbar hintereinander ausgeführt und verglichen: Sind stark schwankende Werte gemessen worden, so geht die Klasse davon aus, dass dort keine Spannung anliegt (es werden willkürliche Messwerte gesendet, ein Bug der Mess-Karte!). Bewegen sich die Schwankungen allerdings innerhalb eines bestimmten Intervalls (cfg: &#8222;newTolerance&#8220;), so wird diese Spannung als richtig bzw. zuverlässig interpretiert. Ferner kann man einstellen, welche Spannung mindestens anliegen muss, um als richtig gewertet zu werden. Die im unteren Beispiel verwendete Konfigurationseinstellung hat bei mir mit (wahrscheinlich)** 100%iger Genauigkeit die richtigen Messwerte geliefert.</p>
<p>(** Nach tausenden Messdurchläufen keine Abweichung der Messwerte von den realen Umständen)</p>
<p>Zunächst müssen wir bei Nutzung von Windows 7 die RXTXcomm.jar eingebunden haben. Wie das geht, könnt ihr im Artikel zur <a title="Conrad-Relaiskarte mit JAVA steuern" href="http://www.derxen.de/blog/2011/top-thema/relaiskarte-mit-java-steuern/">Relaiskarte</a> nachlesen. Danach können wir die Klassen verwenden. Hier einen kleinen Crashkurs zu meiner Klasse:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Main <span style="color: #009900;">&#123;</span>	
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main <span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> args<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//VERBINDUNG AUFBAUEN</span>
		HB627 hb627 <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> HB627<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;COM19&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                <span style="color: #666666; font-style: italic;">//KLASSE KONFIGURIEREN</span>
		<span style="color: #666666; font-style: italic;">//hb627.setCfg(newSleepTime, newLaps, newTolerance, newMinimumMV);</span>
		<span style="color: #666666; font-style: italic;">//STANDARDEINSTELLUNGEN:</span>
		<span style="color: #666666; font-style: italic;">//newLaps = 5; //Wieviele Messrunden soll eine Messung (ein Race) surchlaufen, bevor entschieden wird, ob der Port einen zuverlässigen Wert übermittelt hat? (je mehr, desto zuverlässiger); Wert = 1 setzen, wenn keine Messreihe vorgenommen werden soll, sondern im &quot;klassischen&quot; Sinne gemessen werden soll</span>
		<span style="color: #666666; font-style: italic;">//newTolerance = 25; //in mV. Wie hoch darf die Durchschnitts-Differenz zwischen den Messrunden-Werten eines einzelnen Mess-Ports höchstens sein, um noch als zuverlässiges Ergebnis eingestuft zu werden.</span>
		<span style="color: #666666; font-style: italic;">//newSleepTime = 16; //Wie lange soll nach jedem Kommando (nach jeder Runde [lap]) gewartet werden?</span>
		<span style="color: #666666; font-style: italic;">//newMinimumMV = 1500; //Welchen Wert muss die Messung mindestens haben, um ÜBERHAUPT berücksichtigt zu werden?</span>
&nbsp;
                <span style="color: #666666; font-style: italic;">//ALLE PORTS GLEICHZEITIG LESEN / MESSEN</span>
		<span style="color: #666666; font-style: italic;">//Wo liegt eine konstante Spannung an?</span>
		<span style="color: #000066; font-weight: bold;">boolean</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> resultB <span style="color: #339933;">=</span> hb627.<span style="color: #006633;">readAll</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	        <span style="color: #666666; font-style: italic;">//Wie hoch sind die anliegenden Spannungen? (vorher muss &quot;readAll&quot; oder &quot;read&quot; aufgerufen worden sein)</span>
		<span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> voltages <span style="color: #339933;">=</span> hb627.<span style="color: #006633;">getVoltage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                <span style="color: #666666; font-style: italic;">//Ergebnisse ausgeben	</span>
			<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> j <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> j<span style="color: #339933;">&lt;</span>resultB.<span style="color: #006633;">length</span><span style="color: #339933;">;</span>j<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>resultB<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>voltages<span style="color: #009900;">&#91;</span>j<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
&nbsp;
                 <span style="color: #666666; font-style: italic;">//PORTS EINZELN LESEN / MESSEN</span>
                        <span style="color: #000066; font-weight: bold;">boolean</span> result <span style="color: #339933;">=</span> hb627.<span style="color: #006633;">read</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">8</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> voltages <span style="color: #339933;">=</span> hb627.<span style="color: #006633;">getVoltage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>result<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>voltages<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><strong>Der Quellcode der JAVA-Klasse</strong></p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">gnu.io.CommPortIdentifier</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">gnu.io.SerialPort</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">gnu.io.SerialPortEvent</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">gnu.io.SerialPortEventListener</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.BufferedOutputStream</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.IOException</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.InputStream</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.OutputStream</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.ArrayList</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.TooManyListenersException</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> HB627 <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">private</span> CommPortIdentifier commPortIdentifier<span style="color: #339933;">;</span> 
	<span style="color: #000000; font-weight: bold;">private</span> SerialPort serialPort<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">OutputStream</span> outputStream<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">BufferedOutputStream</span> out<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">InputStream</span> inputStream<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">int</span> cfg_laps<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">int</span> cfg_tolerance<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">int</span> sleepTime<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">int</span> mVschwelle<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">int</span> commando<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//letztes durchgeführtes commando</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">int</span> lap<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//aktuelle runde im rennen (race) (jedes race liefert ein Messergebnis in form von true oder false zurück)</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">private</span> ArrayList<span style="color: #339933;">&lt;</span>Integer<span style="color: #339933;">&gt;</span> finalResults<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> ArrayList<span style="color: #339933;">&lt;</span>byte<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">&gt;</span> respondResults<span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">boolean</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> booleanResults<span style="color: #339933;">;</span>
&nbsp;
&nbsp;
	<span style="color: #666666; font-style: italic;">//KONSTRUKTOR: VERBINDUNG MIT EMPFAENGERKARTE HERSTELLEN (z.B. comName = &quot;COM17&quot; )</span>
	HB627<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> comName<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
		booleanResults <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">boolean</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">8</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
		cfg_laps <span style="color: #339933;">=</span> <span style="color: #cc66cc;">4</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Wieviele Messrunden soll eine Messung (ein Race) surchlaufen, bevor entschieden wird, ob der Port einen zuverlässigen Wert übermittelt hat? (je mehr, desto zuverlässiger)</span>
		cfg_tolerance <span style="color: #339933;">=</span> <span style="color: #cc66cc;">20</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//in mV. Wie hoch darf die Durchschnitts-Differenz zwischen den Messrunden-Werten eines einzelnen Mess-Ports höchstens sein, um noch als zuverlässiges Ergebnis eingestuft zu werden.</span>
		sleepTime <span style="color: #339933;">=</span> <span style="color: #cc66cc;">15</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Wie lange soll nach jedem Kommando (nach jeder Runde [lap]) gewartet werden?</span>
		mVschwelle <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1500</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Welchen Wert muss die Messung mindestens haben, um ÜBERHAUPT berücksichtigt zu werden?</span>
&nbsp;
		finalResults <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;</span>Integer<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		respondResults <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;</span>byte<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
		<span style="color: #666666; font-style: italic;">//COM-PORT-OPEN</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>Main.<span style="color: #006633;">simulation</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
&nbsp;
			<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
				commPortIdentifier <span style="color: #339933;">=</span> CommPortIdentifier.<span style="color: #006633;">getPortIdentifier</span><span style="color: #009900;">&#40;</span>comName<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				serialPort <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>SerialPort<span style="color: #009900;">&#41;</span> commPortIdentifier.<span style="color: #006633;">open</span><span style="color: #009900;">&#40;</span>comName,<span style="color: #cc66cc;">2000</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				serialPort.<span style="color: #006633;">setSerialPortParams</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">19200</span>, SerialPort.<span style="color: #006633;">DATABITS_8</span>, SerialPort.<span style="color: #006633;">STOPBITS_1</span>, SerialPort.<span style="color: #006633;">PARITY_NONE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				outputStream <span style="color: #339933;">=</span> serialPort.<span style="color: #006633;">getOutputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				out <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">BufferedOutputStream</span><span style="color: #009900;">&#40;</span>outputStream<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Connected to &quot;</span> <span style="color: #339933;">+</span> comName <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
			 <span style="color: #009900;">&#125;</span>
			 <span style="color: #000000; font-weight: bold;">catch</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Exception</span> exc<span style="color: #009900;">&#41;</span>
			 <span style="color: #009900;">&#123;</span>
				 <span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Fehler Outputstream :&quot;</span><span style="color: #339933;">+</span>exc<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>			
			 <span style="color: #009900;">&#125;</span>
&nbsp;
			 <span style="color: #666666; font-style: italic;">//INPUT-STREAM</span>
			 <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
				inputStream <span style="color: #339933;">=</span> serialPort.<span style="color: #006633;">getInputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Inputstream open &quot;</span> <span style="color: #339933;">+</span> comName <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			 <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> exc<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Fehler Inputstream :&quot;</span><span style="color: #339933;">+</span>exc<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			 <span style="color: #009900;">&#125;</span>
			 <span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
					serialPort.<span style="color: #006633;">addEventListener</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> serialPortEventListener<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Add Eventlistener &quot;</span> <span style="color: #339933;">+</span> comName <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">TooManyListenersException</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;TooManyListenersException für Serialport&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
				serialPort.<span style="color: #006633;">notifyOnDataAvailable</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>	
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">void</span> setCfg<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> newSleepTime, <span style="color: #000066; font-weight: bold;">int</span> newLaps, <span style="color: #000066; font-weight: bold;">int</span> newTolerance, <span style="color: #000066; font-weight: bold;">int</span> newMinimumMV<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		sleepTime <span style="color: #339933;">=</span> newSleepTime<span style="color: #339933;">;</span>
		cfg_laps <span style="color: #339933;">=</span> newLaps<span style="color: #339933;">;</span>
		cfg_tolerance <span style="color: #339933;">=</span> newTolerance<span style="color: #339933;">;</span>
		mVschwelle <span style="color: #339933;">=</span> newMinimumMV<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000066; font-weight: bold;">int</span> getSleepTime<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">return</span> sleepTime<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//KOMMANDO-METHODE</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">void</span> cmd<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> third<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		commando <span style="color: #339933;">=</span> third<span style="color: #339933;">;</span>
		lap<span style="color: #339933;">++;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//KOMMANDOS IN ARRAY SCHREIBEN</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//Datenpaket schnüren </span>
		<span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> sendData <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
		sendData<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#41;</span> <span style="color: #cc66cc;">99</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//byte0_array[0];</span>
		sendData<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#41;</span> <span style="color: #cc66cc;">48</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//cmd;</span>
		sendData<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">48</span><span style="color: #339933;">+</span>third<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//(cmd ^ sendData[0]);</span>
&nbsp;
&nbsp;
		<span style="color: #666666; font-style: italic;">//DATEN SENDEN</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>Main.<span style="color: #006633;">simulation</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
				out.<span style="color: #006633;">write</span><span style="color: #009900;">&#40;</span>sendData, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				out.<span style="color: #006633;">flush</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #666666; font-style: italic;">//System.out.println(&quot;Data send: First &quot; + sendData[0] + &quot;; second &quot; + sendData[1] + &quot;; third &quot; + sendData[2] + &quot; &quot;);</span>
			<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;No data sended&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">//WARTEN</span>
			<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #666666; font-style: italic;">//System.out.println(&quot;wait &quot; + sleepTime + &quot;ms&quot;);</span>
				<span style="color: #003399;">Thread</span>.<span style="color: #006633;">sleep</span><span style="color: #009900;">&#40;</span>sleepTime<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">InterruptedException</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Sleeping failed&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//VERBINDUNG ZUR HB627-KARTE BEENDEN</span>
	<span style="color: #000066; font-weight: bold;">void</span> close<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>Main.<span style="color: #006633;">simulation</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			serialPort.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Connection closed&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//EINGEHENDES SIGNAL AUS HIGH-BYTE UND LOW-BYTE UMRECHNEN</span>
	<span style="color: #000066; font-weight: bold;">int</span> parseResponse<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">byte</span> highByte, <span style="color: #000066; font-weight: bold;">byte</span> lowByte<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000066; font-weight: bold;">int</span> intHB <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">int</span> intLB <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//In positive Zahlen parsen</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>highByte <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			intHB <span style="color: #339933;">=</span> <span style="color: #cc66cc;">256</span> <span style="color: #339933;">+</span> highByte<span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
			intHB <span style="color: #339933;">=</span> highByte<span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>lowByte <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			intLB <span style="color: #339933;">=</span> <span style="color: #cc66cc;">256</span> <span style="color: #339933;">+</span> lowByte<span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
			intLB <span style="color: #339933;">=</span> lowByte<span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">//IN FERTGE ZAHL UMRECHNEN</span>
		<span style="color: #000066; font-weight: bold;">int</span> result <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>intHB<span style="color: #339933;">*</span><span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> intLB<span style="color: #339933;">*</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//LOW-BYTE WIRD zZ IGNORIERT!</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">return</span> result<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//NEUES RENNEN / NEUE MESSUNG: GRUNDLAGE SCHAFFEN (Vergleichswerte zurücksetzen)</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000066; font-weight: bold;">void</span> newRace<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		respondResults.<span style="color: #006633;">clear</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		finalResults.<span style="color: #006633;">clear</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		lap <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>booleanResults.<span style="color: #006633;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			booleanResults<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//EINEN PORT LESEN/MESSEN</span>
	<span style="color: #000066; font-weight: bold;">boolean</span> read<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> port<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		newRace<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span>cfg_laps<span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			cmd<span style="color: #009900;">&#40;</span>port<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>finalResults.<span style="color: #006633;">size</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>				
			<span style="color: #666666; font-style: italic;">//System.out.println(&quot;FR: &quot; + finalResults.get(0));</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">/*System.out.println(&quot; &quot;);
			for (int k = 0;k&lt;finalResults.size();k++) {
				System.out.print(finalResults.get(k) + &quot; &quot;);
			}*/</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">//hat der messwert die mindest-volt-schwelle erreicht?</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">//if (finalResults.get(0) &gt;= mVschwelle || true) {</span>
&nbsp;
				<span style="color: #000066; font-weight: bold;">int</span> durchschnitt <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
				<span style="color: #000066; font-weight: bold;">int</span> differenz <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
				<span style="color: #000066; font-weight: bold;">int</span> high<span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #666666; font-style: italic;">//durchschnitt ausrechnen</span>
&nbsp;
				<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>finalResults.<span style="color: #006633;">size</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">+</span>cfg_laps<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>finalResults.<span style="color: #006633;">size</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #009900;">&#40;</span>cfg_laps<span style="color: #339933;">*</span><span style="color: #cc66cc;">8</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span>cfg_laps<span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
						durchschnitt <span style="color: #339933;">+=</span> finalResults.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">*</span><span style="color: #cc66cc;">8</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
					durchschnitt <span style="color: #339933;">=</span> durchschnitt<span style="color: #339933;">/</span>cfg_laps<span style="color: #339933;">;</span>
&nbsp;
					<span style="color: #666666; font-style: italic;">//Checken, ob höchstdifferenz eingehalten wird</span>
					<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span>cfg_laps<span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
						high <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">*</span><span style="color: #cc66cc;">8</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>durchschnitt <span style="color: #339933;">&gt;</span> finalResults.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span>high<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
							differenz <span style="color: #339933;">+=</span> durchschnitt<span style="color: #339933;">-</span>finalResults.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span>high<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
							differenz <span style="color: #339933;">+=</span> finalResults.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span>high<span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span>durchschnitt<span style="color: #339933;">;</span>
						<span style="color: #009900;">&#125;</span>
&nbsp;
					<span style="color: #009900;">&#125;</span>
&nbsp;
					<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>differenz<span style="color: #339933;">/</span>cfg_laps<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> cfg_tolerance <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
						<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;!tolerance: &quot;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>differenz<span style="color: #339933;">/</span>cfg_laps<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
						<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;tolerance: &quot;</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span>differenz<span style="color: #339933;">/</span>cfg_laps<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						booleanResults<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
						<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
&nbsp;
					<span style="color: #009900;">&#125;</span>
				<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Notice: (Array-Fehler)&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #666666; font-style: italic;">//} else {</span>
		<span style="color: #666666; font-style: italic;">//	return false;</span>
		<span style="color: #666666; font-style: italic;">//}		</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//ALLE PORTS LESEN/MESSEN</span>
	<span style="color: #000066; font-weight: bold;">boolean</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> readAll<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		newRace<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
		<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span>cfg_laps<span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			cmd<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">9</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000066; font-weight: bold;">boolean</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> result <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><span style="color: #000066; font-weight: bold;">false</span>,<span style="color: #000066; font-weight: bold;">false</span>,<span style="color: #000066; font-weight: bold;">false</span>,<span style="color: #000066; font-weight: bold;">false</span>,<span style="color: #000066; font-weight: bold;">false</span>,<span style="color: #000066; font-weight: bold;">false</span>,<span style="color: #000066; font-weight: bold;">false</span>,<span style="color: #000066; font-weight: bold;">false</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span> 
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>finalResults.<span style="color: #006633;">size</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>				
&nbsp;
&nbsp;
			<span style="color: #666666; font-style: italic;">/*System.out.println(&quot; &quot;);
			for (int k = 0;k&lt;finalResults.size();k++) {
				System.out.print(finalResults.get(k) + &quot; &quot;);
			}*/</span>
&nbsp;
			<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">8</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #666666; font-style: italic;">//System.out.println(&quot;FR &quot;+(i+1)+&quot;: &quot; + finalResults.get(i));</span>
&nbsp;
				<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>finalResults.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> mVschwelle<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
					<span style="color: #000066; font-weight: bold;">int</span> durchschnitt <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
					<span style="color: #000066; font-weight: bold;">int</span> differenz <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
					<span style="color: #000066; font-weight: bold;">int</span> high<span style="color: #339933;">;</span>
&nbsp;
					<span style="color: #666666; font-style: italic;">//durchschnitt ausrechnen</span>
					<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> j <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> j<span style="color: #339933;">&lt;</span>cfg_laps<span style="color: #339933;">;</span>j<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
						durchschnitt <span style="color: #339933;">+=</span> finalResults.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>j<span style="color: #339933;">*</span><span style="color: #cc66cc;">8</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
					durchschnitt <span style="color: #339933;">=</span> durchschnitt<span style="color: #339933;">/</span>cfg_laps<span style="color: #339933;">;</span>
&nbsp;
					<span style="color: #666666; font-style: italic;">//Checken, ob höchstdifferenz eingehalten wird</span>
					<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> j <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> j<span style="color: #339933;">&lt;</span>cfg_laps<span style="color: #339933;">;</span>j<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
						high <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>j<span style="color: #339933;">*</span><span style="color: #cc66cc;">8</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span>i<span style="color: #339933;">;</span>
&nbsp;
						<span style="color: #666666; font-style: italic;">/*if (i==7) {
							System.out.println(durchschnitt + &quot; dif &quot; + finalResults.get(high));
						}*/</span>
&nbsp;
						<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>durchschnitt <span style="color: #339933;">&gt;</span> finalResults.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span>high<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
							differenz <span style="color: #339933;">+=</span> durchschnitt<span style="color: #339933;">-</span>finalResults.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span>high<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
						<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
							differenz <span style="color: #339933;">+=</span> finalResults.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span>high<span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span>durchschnitt<span style="color: #339933;">;</span>
						<span style="color: #009900;">&#125;</span>
&nbsp;
					<span style="color: #009900;">&#125;</span>
&nbsp;
					<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span>differenz<span style="color: #339933;">/</span>cfg_laps<span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> cfg_tolerance <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
						<span style="color: #666666; font-style: italic;">//System.out.println(&quot;!tolerance: &quot; + (differenz/cfg_laps));</span>
						result<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
						<span style="color: #666666; font-style: italic;">//System.out.println(&quot;tolerance: &quot; + (differenz/cfg_laps));</span>
						booleanResults<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
						result<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
&nbsp;
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">return</span> result<span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//MESSWERTE IN mV-Ausgeben</span>
	<span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> getVoltage<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> result <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">int</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">8</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span><span style="color: #cc66cc;">8</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>booleanResults<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				result<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> finalResults.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
				result<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">return</span> result<span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//DATEN EMPFANGEN &amp; VERARBEITEN</span>
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> serialPortDataAvailable<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> data <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">17</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
&nbsp;
			<span style="color: #000000; font-weight: bold;">while</span><span style="color: #009900;">&#40;</span>inputStream.<span style="color: #006633;">available</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
				inputStream.<span style="color: #006633;">read</span><span style="color: #009900;">&#40;</span>data, <span style="color: #cc66cc;">0</span>, data.<span style="color: #006633;">length</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #666666; font-style: italic;">//System.out.println(&quot;[] &quot;+data[0]+&quot; &quot;+data[1]+&quot; &quot;+data[2]+&quot; &quot;+data[3]+&quot; &quot;+data[4]+&quot; &quot;+data[5]+&quot; &quot;+data[6]+&quot; &quot;+data[7]+&quot; &quot;+data[8]+&quot; &quot;+data[9]+&quot; &quot;+data[10]+&quot; &quot;+data[11]+&quot; &quot;+data[12]+&quot; &quot;+data[13]+&quot; &quot;+data[14]+&quot; &quot;+data[15]+&quot; &quot;+data[16]+&quot;&quot;);</span>
&nbsp;
				<span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> currentbytes <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #000066; font-weight: bold;">byte</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
				<span style="color: #000066; font-weight: bold;">int</span> currentvoltage<span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #000066; font-weight: bold;">int</span> fb<span style="color: #339933;">;</span>
				<span style="color: #000066; font-weight: bold;">int</span> sb<span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> i <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span><span style="color: #009900;">&#40;</span>data.<span style="color: #006633;">length</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
					fb <span style="color: #339933;">=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">*</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
					sb <span style="color: #339933;">=</span> <span style="color: #cc66cc;">2</span><span style="color: #339933;">+</span><span style="color: #009900;">&#40;</span>i<span style="color: #339933;">*</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
					<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>sb <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">17</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
					<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>commando <span style="color: #339933;">==</span> <span style="color: #cc66cc;">9</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
						currentbytes<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> data<span style="color: #009900;">&#91;</span>sb<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
						currentbytes<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> data<span style="color: #009900;">&#91;</span>fb<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
					<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
						currentbytes<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> data<span style="color: #009900;">&#91;</span>sb<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
						currentbytes<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> data<span style="color: #009900;">&#91;</span>fb<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
					<span style="color: #009900;">&#125;</span>
&nbsp;
					currentvoltage <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">parseResponse</span><span style="color: #009900;">&#40;</span>currentbytes<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span>, currentbytes<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
					respondResults.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>currentbytes<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
					finalResults.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>currentvoltage<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
					<span style="color: #666666; font-style: italic;">//System.out.print(currentvoltage + &quot;(&quot; +fb+ &quot;&quot; +sb+ &quot;): &quot; + data[fb] + &quot;/ &quot; + data[sb] +&quot; || &quot;);</span>
					<span style="color: #009900;">&#125;</span>
				<span style="color: #009900;">&#125;</span>
				<span style="color: #666666; font-style: italic;">//System.out.println(&quot; &quot;);</span>
&nbsp;
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;!!! Data could not be recieved !!!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">class</span> serialPortEventListener <span style="color: #000000; font-weight: bold;">implements</span> SerialPortEventListener <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> serialEvent<span style="color: #009900;">&#40;</span>SerialPortEvent event<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">switch</span> <span style="color: #009900;">&#40;</span>event.<span style="color: #006633;">getEventType</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">case</span> SerialPortEvent.<span style="color: #006633;">DATA_AVAILABLE</span><span style="color: #339933;">:</span>
				serialPortDataAvailable<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
			<span style="color: #000000; font-weight: bold;">case</span> SerialPortEvent.<span style="color: #006633;">BI</span><span style="color: #339933;">:</span>
			<span style="color: #000000; font-weight: bold;">case</span> SerialPortEvent.<span style="color: #006633;">CD</span><span style="color: #339933;">:</span>
			<span style="color: #000000; font-weight: bold;">case</span> SerialPortEvent.<span style="color: #006633;">CTS</span><span style="color: #339933;">:</span>
			<span style="color: #000000; font-weight: bold;">case</span> SerialPortEvent.<span style="color: #006633;">DSR</span><span style="color: #339933;">:</span>
			<span style="color: #000000; font-weight: bold;">case</span> SerialPortEvent.<span style="color: #006633;">FE</span><span style="color: #339933;">:</span>
			<span style="color: #000000; font-weight: bold;">case</span> SerialPortEvent.<span style="color: #006633;">OUTPUT_BUFFER_EMPTY</span><span style="color: #339933;">:</span>
			<span style="color: #000000; font-weight: bold;">case</span> SerialPortEvent.<span style="color: #006633;">PE</span><span style="color: #339933;">:</span>
			<span style="color: #000000; font-weight: bold;">case</span> SerialPortEvent.<span style="color: #006633;">RI</span><span style="color: #339933;">:</span>
			<span style="color: #000000; font-weight: bold;">default</span><span style="color: #339933;">:</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>	
&nbsp;
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><strong>Bekannte / Mögliche Schwachstellen / Bugs in der Klasse</strong></pre>
<ul>
<li>Ich habe nicht geprüft (da in meinem Anwendungsbereich unerheblich) ob die gemessenen Spannungswerte (&#8222;getVoltage()&#8220;) den realen Spannungswerten entsprechen. Eventuell ergibt sich die tatsächliche Spannung erst nach durch die Differenz von 4095&#8230; oder auch nicht. Ausgeschlossen werden kann ist, dass &#8222;getVoltage()&#8220; falsche ergebnisse liefert. Man muss diese eben nur richtig interpretieren können.</li>
<li>Die Umrechnung von High-Byte und Lowbyte (Antwort von der Empfängerkarte) ist möglicherweise unvollständig, jedoch ausreichend (für meine Zwecke). Für eine Umrechnung unter berücksichtigung des Low-Bytes fehlt mir bisher die korrekte Formel, die sich auch nicht aus dem Handbuch ergibt. Sobald ich in diesem Punkt weiter bin, werde ich das im Kommentarbereich ergänzen.</li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.derxen.de/blog/2011/technik/h-tronic-usb-datenerfassungssystem-per-java-hb627/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
