<?xml version="1.0"?>
<rss version="2.0"><channel><title>Software, Programmierung und externe Tools Latest Topics</title><link>https://www.tinkerunity.org/forum/10-software-programmierung-und-externe-tools/</link><description>Software, Programmierung und externe Tools Latest Topics</description><language>en</language><item><title>Micropython bindings?</title><link>https://www.tinkerunity.org/topic/6379-micropython-bindings/</link><description><![CDATA[<p>
	Hi Tinkerforge Team,<br /><br />
	Ich habe gerade ein paar Erfahrungen mit den Boards von <a href="https://pycom.io/webshop/#dev" rel="external nofollow">PyCom</a> gesammelt, da ich mir eine Bienenstockwaage gebaut habe.<br /><br />
	Auf diesen kleinen ESP32 basierten Rechnern kann man mit MicroPython arbeiten.<br />
	Je nachdem, welches Board man nimmt, hat man zusätzlich zu WLAN und BLE auch LTE und so an Board.<br />
	Daten können mit einem Extension Board auch auf SD-Card gespeichert werden.<br />
	Alternative zum RED?!<br /><br />
	nun zu meiner Frage.<br /><br />
	Wie sehen eure Pläne zu MicroPython aus?<br />
	Habt ihr die Bindings schon mal getestet?<br /><br />
	Zusatzfrage:<br />
	Ich habe nicht das GitHub Repo gefunden, wo die Python Bindings drin sind.<br />
	Könnt ihr da einen Hinweis geben?<br /><br />
	Danke!<br />
	 
</p>]]></description><guid isPermaLink="false">6379</guid><pubDate>Sun, 09 May 2021 21:29:15 +0000</pubDate></item><item><title>RaspberryPi 5 and BrickHAT.set_sleep_mode(power_off_delay, power_off_duration, raspberry_pi_off, bricklets_off, enable_sleep_indicator)</title><link>https://www.tinkerunity.org/topic/12828-raspberrypi-5-and-brickhatset_sleep_modepower_off_delay-power_off_duration-raspberry_pi_off-bricklets_off-enable_sleep_indicator/</link><description><![CDATA[<p>
	Hi List
</p>

<p>
	Last summer I was asking about the set_sleep_mode of the RaspberryPi using the BrickHAT. You will find the original post <a href="https://www.tinkerunity.org/topic/12414-hatset_sleep_mode-and-sudo-shutdown-in-combination" rel="">here</a>. And the solution proposed by <a href="https://www.tinkerunity.org/profile/4658-matzetf/" rel="">matzeTF</a> was perfect.
</p>

<p>
	The background was, to control the shutdown of the RPi in a controlled way in combination with an Industrial-Dual-Relay Bricklets and a second power-supply of HAT and RPi using the 5V USB-connection. This combination allows a controlled shutdown of the entire system and a final cut of any power-supply of the system.
</p>

<p>
	This works perfectly so far with RPi-4.
</p>

<p>
	In the meantime, I switched to RPi-5 for a new edition of the entire setup. And with this switch, I am confronted with the new following effect:
</p>

<ul>
	<li>
		After calling the
		<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">set_sleep_mode()</span></pre>
		-function, the system starts to shutdown as defined.
	</li>
	<li>
		But, at the end, the Industrial-Dual-Relay is not set back to default (no connection between A and SW).
	</li>
</ul>

<p>
	As a result, the system gets blocked in the following state:
</p>

<ul>
	<li>
		The system of the RPi is down.
	</li>
	<li>
		The Industrial-Dual-Relay still provides connection between A and SW.
	</li>
	<li>
		The HAT and RPi gets still power.
	</li>
</ul>

<p>
	The only solution to solve the problem is, to manually disconnecting the USB-power-supply from the HAT. After the disconnecting, everything goes and stays as it should (no connection at relay between and SW.
</p>

<p>
	Unfortunately, this behavior is not observed systematically. It occurs sometimes.
</p>

<p>
	While writing this post, I started the reflection, if the power_off_delay with 5.0 seconds is to optimistic and if the problem could be solved using a longer time-period for the power_off_delay.
</p>

<p>
	Do you have any ideas or suggestions?
</p>

<p>
	Looking forward to any hints.
</p>

<p>
	Cheers. Yvo
</p>
]]></description><guid isPermaLink="false">12828</guid><pubDate>Tue, 11 Mar 2025 08:54:01 +0000</pubDate></item><item><title>Brickv macOS : "Update information could not be downloaded&#x2026;"</title><link>https://www.tinkerunity.org/topic/13607-brickv-macos-update-information-could-not-be-downloaded/</link><description><![CDATA[<p>Mir ist die Meldung unten im Brickv auf dem macMini aufgefallen. Weiß nicht, seit wann das da steht. Beim MacBook taucht sie nicht aus. Ich bin mir nicht bewusst dass ich etwas umkonfiguriert habe. Eine Idee? Ich finde nichts an Berechtigungen für Brickv ... Werde mal neu installieren</p><p>macMini M1, macOS 26.2, neuester Brickv 2.4.26, gerade noch mal installiert.</p><p>Cheers, Uwe </p>]]></description><guid isPermaLink="false">13607</guid><pubDate>Fri, 06 Feb 2026 04:58:10 +0000</pubDate></item><item><title>Brick Daemon 2.4.8 Crash auf Raspberry Pi 5 CM (HAT Brick)</title><link>https://www.tinkerunity.org/topic/13521-brick-daemon-248-crash-auf-raspberry-pi-5-cm-hat-brick/</link><description><![CDATA[<p>
	Zusammenfassung des Problems
</p>

<p>
	Der <b>Brick Daemon (<code>brickd</code>) 2.4.8</b> (aus dem Quellcode kompiliert) stürzt auf dem Raspberry Pi 5 Compute Module (CM) sofort nach dem Start ab, wenn das <b>HAT Brick</b> angeschlossen ist. Der Absturz erfolgt während der SPI-Initialisierung und kann nicht durch Konfigurationsdateien behoben werden.
</p>

<p>
	<b>Hardware</b><br />
	Raspberry Pi 5 Compute Module (CM)<br />
	HAT Brick (Product ID 0x084e)<br />
	Raspberry Pi OS (Debian Trixie) <b>Kernel</b>6.12.47+rpt-rpi-2712 (aarch64)<br />
	<b>Brick Daemon</b>Version <b>2.4.8</b> (Kompiliert von GitHub Master Branch)
</p>

<p>
	 
</p>

<p>
	Wird es hierzu zeitnah ein update für den BrickD geben damit es mit dem CM Modulen kompatibel ist?
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">13521</guid><pubDate>Sat, 15 Nov 2025 02:22:13 +0000</pubDate></item><item><title>Freischaltung Tinkerforge Warp3 Pro per NFC sowie &#xFC;ber Home Assistant/EVCC</title><link>https://www.tinkerunity.org/topic/13609-freischaltung-tinkerforge-warp3-pro-per-nfc-sowie-%C3%BCber-home-assistantevcc/</link><description><![CDATA[<p>Hallo zusammen,</p><p>ich bin neu in der Runde, daher erstmal ein Hallo an Alle! <span class="ipsEmoji" title="waving hand">👋</span></p><p>Ich abe mir vor rd. 3 Monaten eine Tinkerforge Warp3 Pro gekauft, die ich bisher in Verbindung mit EVCC (Ladesteuerung für einen Mokka-E, da der sonst bis 10% lädt) sowie NFC Freigabe nutze (wegen Carport).</p><p>Jetzt möchte ich es mir in Verbindung mit Home Assistant etwas bequemer machen: Wenn ich ein bekanntes Fahrzeug (aus EVCC) anschließe, dann möchte ich kein NFC mehr nutzen, sondern dass Home Assistant das Laden freigibt. NFC soll aber eine zweite Option zur Freigabe der Tinkerforge bleiben, falls z.B. ein Gast bei uns laden möchte, auch wenn ich nicht daheim bin.</p><p>Was ich in Home Assistant per Automation hinbekomme ist, über mqtt den Eintrag in external_control zu übergeben.</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>alias: Wallbox Freigabe via MQTT
description: Sendet alle 30 Sekunden die Freigabe an die Tinkerforge Wallbox
triggers:
  - seconds: /30
    trigger: time_pattern
conditions:
  - condition: or
    conditions:
      - condition: state
        entity_id: input_boolean.wallbox_automatik_schalter
        state: "on"
      - condition: state
        entity_id: select.evcc_carport_vehicle_name
        state:
          - ev1
        enabled: true
actions:
  - data:
      topic: warp3/power_manager/external_control
      payload: |
        {
          "phases_wanted":3,
          "charge_release": true,
          "current_limit": 11000,
          "time_to_live": 45000
        }
    action: mqtt.publish</code></pre><p>Die Tinkerforge wartet aber trotzdem noch auf eine NFC Freigabe.</p><p>Wie bekomme ich das priorisiert, dass ein Eintrag in external_control die NFC Freigabe "übersteuert"?</p><p>Vielen Dank an die jenigen, die mir bestimmt schnell helfen können <span class="ipsEmoji" title="smiling face with smiling eyes">😊</span></p><p>Andy</p><p></p><p></p><p><strong>Zusatzinfo</strong></p><p>Wenn ich das Auto abstecke, wird per Automation die mqtt Freigabe wieder zurückgesetzt (binary_sensor.wallbox_verbunden liest den Wert aus mqtt aus):</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>alias: Wallbox Freigabe über MQTT deaktivieren
description: ""
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.wallbox_verbunden
    to:
      - "off"
conditions: []
actions:
  - data:
      topic: warp3/power_manager/external_control
      payload: |
        {"charge_release": false}
    action: mqtt.publish
mode: single</code></pre><p></p>]]></description><guid isPermaLink="false">13609</guid><pubDate>Fri, 06 Feb 2026 13:37:31 +0000</pubDate></item><item><title>Health-Check for Bricklets and -Bricks</title><link>https://www.tinkerunity.org/topic/13605-health-check-for-bricklets-and-bricks/</link><description><![CDATA[<p>Dear List</p><p>I am using Bricks and Bricklets in distributed hardware in many remote locations. Usually, the bricklets are accessed by software running locally at the remote locations.</p><p>What is missing from my side, is a monitoring-tool, which checks the availability and health of the individual bricklets at the locations. To have an information about the health and availability of the bricks and bricklets, I am thinking to implement a piece of software running as service, e.g. TinkerforgeWatcher.</p><p>The TinkerforgeWatcher will have a configuration-file containing a list of all bricks and bricklets to be monitor at the specific location. Using a monitoring-service, like Prometheus, the TinkerforgeWatcher will submit in a defined rate the health of all bricklets.</p><p>Basically, it will submit an OK or a NOK for each bricklet.</p><p>Now the question:</p><ul><li><p>What kind of function would you use to check the health of a bricklet?</p></li></ul><p>Currently, I have the impression, that *.get_spitfp_error_count() would be the most suitable function to have a first impression about the health of a bricklet.</p><p>Looking forward to any suggestions.</p><p>Cheers. Yvo</p>]]></description><guid isPermaLink="false">13605</guid><pubDate>Thu, 05 Feb 2026 09:30:12 +0000</pubDate></item><item><title>IMU Bricklet 3.0 Update-Rate</title><link>https://www.tinkerunity.org/topic/13598-imu-bricklet-30-update-rate/</link><description><![CDATA[<p>Dear list</p><p>I am using successfully IMU-Bricklets 3.0 mounted on constantly rotating devices. Principally, it works very good. Using the function get_quaternion(), I am calculating the rotations of the bricklet.</p><p>But I made the following observation:</p><ul><li><p>It looks like a delay of the measurement returned from the bricklet and the rotation made by the rotating device.</p></li></ul><p>Question:</p><ul><li><p>Is it possible to increase the update-rate of the sensor to get timely correct measurements?</p></li></ul><p>I just realized, that the function BrickletIMUV3.set_sensor_configuration(<em>magnetometer_rate</em>, <em>gyroscope_range</em>, <em>gyroscope_bandwidth</em>, <em>accelerometer_range</em>, <em>accelerometer_bandwidth</em>) exists.</p><p>The usage of the bricklet is limited to the measurements of the quaternions.</p><p>Question:</p><ul><li><p>Which parameter of the sensor-configuration do I have to improve / to increase?</p></li></ul><p>Looking forward to any hints and advises.</p><p>Cheers, Yvo</p>]]></description><guid isPermaLink="false">13598</guid><pubDate>Mon, 26 Jan 2026 14:26:32 +0000</pubDate></item><item><title>Bricklets mit Excel VBA ansteuern?</title><link>https://www.tinkerunity.org/topic/13581-bricklets-mit-excel-vba-ansteuern/</link><description><![CDATA[<p>Ich möchte Daten von meinem PC in einen MZ-80K Baujahr 1980 übertragen. Dafür habe ich mir eine Schnittstelle gelötet, die ich über ein IO16-v2 Bricklet ansteuere. </p><p>Unter Visual Basic funktioniert das schon sehr gut, ich kann die Daten aus einer Datei in den MZ-80K übertragen. </p><p>Diese Daten stammen aber eigentlich aus einer Excel-Tabelle. Anstatt diese Daten erst mal in eine Datei zu exportieren und diese dann mit Hilfe meines Übertragungsprogramms zu verarbeiten, müsste es doch eigentlich möglich sein, die Daten direkt mit Hilfe eines VBA-Makros zu übertragen. Das ist prinzipiell nichts neues für mich, ich habe bereits System-DLLs in VBA-Makros eingebunden und genutzt. Aber bei Tinkerforge kommen noch die Deklarationen hinzu, und da fehlen mir die Kenntnisse.</p><p><strong>Was mache ich mit folgenden Zeilen in Excel VBA?</strong></p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>Imports Tinkerforge
Public ipcon As New IPConnection
Public io As New BrickletIO16V2()</code></pre><p></p><p></p>]]></description><guid isPermaLink="false">13581</guid><pubDate>Wed, 07 Jan 2026 08:36:59 +0000</pubDate></item><item><title>Silent Stepper 1.0</title><link>https://www.tinkerunity.org/topic/13503-silent-stepper-10/</link><description><![CDATA[<p>
	Für ein Projekt habe ich nach langer Zeit wieder meine Tinkerforge-Kiste aufgemacht.
</p>

<p>
	An einem Silent Stepper Brick lasse ich einen NEMA 17 Motor von Usongshine laufen. Über den Brickviewer funktioniert das tadellos, aber wenn ich es mit einem Python Script versuche (von einem Raspberry Pi 4), macht der Motor bei den Beschleunigungs- und Verzögerungsrampen laute Geräusche. Das Script entspricht weitestgehend dem Python-Beispielscript von der Doku-Seite. Kann jemand was hilfreiches dazu beisteuern?
</p>
]]></description><guid isPermaLink="false">13503</guid><pubDate>Wed, 05 Nov 2025 13:14:22 +0000</pubDate></item><item><title>Data Logger - Werte in Spalten darstellen</title><link>https://www.tinkerunity.org/topic/13457-data-logger-werte-in-spalten-darstellen/</link><description><![CDATA[<p>
	Hallo zusammen,
</p>

<p>
	höchstwahrscheinlich habe ich die falschen Schlagwörter benutzt, denn meine Frage ist sicher schon da gewesen. Freue mich daher auf jede Rückmeldung, wenn auch nur mit Link. 
</p>

<p>
	<br />
	Ich möchte die CSV Datei aus dem DataLogger in Diagrammen darstellen, dazu benötige ich die Werte nach Kanälen getrennt. 
</p>

<p>
	Leider schaffe ich das nicht die CSV Datei aufzutrennen. Habt ihr mir einen Tipp? Idealerweise mit National Instruments DIADEM?
</p>

<p>
	 
</p>

<p>
	Herzlichen Dank im Voraus. 
</p>

<p>
	MfG
</p>

<p>
	Erik H
</p>
]]></description><guid isPermaLink="false">13457</guid><pubDate>Thu, 09 Oct 2025 12:07:31 +0000</pubDate></item><item><title>Setzen des Charge-Modus auf WEM &#xFC;ber REST-API</title><link>https://www.tinkerunity.org/topic/13466-setzen-des-charge-modus-auf-wem-%C3%BCber-rest-api/</link><description><![CDATA[<p>
	Hallo,
</p>

<p>
	ich möchte über die REST-API des WEM mit aktueller Firmware den charge-mode setzen. Das funktioniert aber leider nicht.
</p>

<p>
	Ist das überhaupt möglich?
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">13466</guid><pubDate>Sat, 18 Oct 2025 12:31:30 +0000</pubDate></item><item><title>RS232 communication script fails</title><link>https://www.tinkerunity.org/topic/12998-rs232-communication-script-fails/</link><description><![CDATA[<p>
	Hi All!
</p>

<p>
	to communicate with pumps in a test rig, I use a RS232 bricklet. Communication seems alright when I use BrickViewer and was already able to send commands and recieve data (see image).
</p>

<p>
	<img alt="image.png.79402f2f1afc0329428c285d6e633a20.png" class="ipsImage ipsImage_thumbnailed" data-fileid="4570" style="height:auto;" width="683" src="https://www.tinkerunity.org/uploads/monthly_2025_04/image.png.79402f2f1afc0329428c285d6e633a20.png" loading="lazy" height="505.42">
</p>

<p>
	As future communication should be run by a MATLAB script, I tried sending the same command in the following code (derived from the RS232 Bricklet Example), which did not work at all. 
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">clear
clc
import com.tinkerforge.IPConnection;
import com.tinkerforge.BrickletRS232V2;
import java.lang.String;

HOST = 'localhost';
PORT = 4223;
UID = 'MyUID'; % Change XYZ to the UID of your RS232 Bricklet 2.0

ipcon = IPConnection(); % Create IP connection
rs232 = BrickletRS232V2(UID, ipcon); % Create device object
ipcon.connect(HOST, PORT); % Connect to brickd

rs232.disableReadCallback();
rs232.write(String('OUT_SP_1 100').toCharArray());
ipcon.disconnect();</span></pre>

<p>
	I also tried adding \r\n to the char, which also did not work. Can you tell, where my fault is? 
</p>
]]></description><guid isPermaLink="false">12998</guid><pubDate>Wed, 30 Apr 2025 15:14:13 +0000</pubDate></item><item><title>Ambient Light Bricklet 3.0: I2C Kommunikation kann sich aufh&#xE4;ngen</title><link>https://www.tinkerunity.org/topic/12835-ambient-light-bricklet-30-i2c-kommunikation-kann-sich-aufh%C3%A4ngen/</link><description><![CDATA[<p>
	Ich habe den LTR329ALS Lichtsensor mit einem kurzen Kabel abgesetzt vom Bricklet montiert. Dabei ist mir Folgendes aufgefallen (mit Oszi gemessen): Eine kurze Beeinflussung/Störung/Unterbrechung der I2C-Kommunikation führt dazu, dass die I2C-Kommunikation permanent stehen bleibt. Auch wenn man dann im Brick Viewer die "Illuminance Range" oder die "Integration Time" umstellt, tut sich auf dem I2C Bus nichts mehr (keinerlei SDA/SCL Signale mehr messbar). Im Brick Viewer erhält man währenddessen jedoch keine Rückmeldung über den Fehlerzustand und es wird permanent der zuletzt gemessene Helligkeitswert angezeigt. Nur durch einen Bricklet-Reset kommt man wieder in den funktionierenden Zustand zurück.<br />
	Ich glaube in der Firmware sind aber eigentlich Timeouts etc. vorgesehen, um Fehler durch nicht antwortende I2C-Slaves abzufangen?<br />
	Wie könnte man die Firmware am sinnvollsten anpassen, sodass die I2C-Kommunikation nach einer Störung weiterläuft - oder, dass zumindest der Fehlerzustand erkannt werden kann (z.B. durch Senden eines Fehlerersatzwertes anstatt letztem Helligkeitswert nach I2C-Timeout)?
</p>
]]></description><guid isPermaLink="false">12835</guid><pubDate>Wed, 12 Mar 2025 06:35:50 +0000</pubDate></item><item><title>Mutiple read-access to Industrial-Counter-Bricklet from two applications</title><link>https://www.tinkerunity.org/topic/12722-mutiple-read-access-to-industrial-counter-bricklet-from-two-applications/</link><description><![CDATA[<p>
	Dear List
</p>

<p>
	I am running a measurement-station using an Industrial-Counter-Bricklet to monitor the frequency given by an encoder:
</p>

<ul>
	<li>
		One application is accessing the Industrial-Counter-Bricklet every 5 seconds reading the current frequency on channel 0 and provides the information to a Prometheus-monitoring system.
		<ul>
			<li>
				That works perfectly
			</li>
		</ul>
	</li>
	<li>
		A second application could take usage of the measurements of the Industrial-Counter-Bricklet to monitor its own functionality.
		<ul>
			<li>
				For this, it has to read the frequency on channel 0 of the Industrial-Counter-Bricklet as well. This in a similar rate such as every 5 seconds.
			</li>
		</ul>
	</li>
</ul>

<p>
	Question:
</p>

<ul>
	<li>
		Is it safe and reliable to access an Industrial-Counter-Bricklet (or any other bricklet) reading the values from two individual applications using the same host and port?
	</li>
	<li>
		Or is it recommended to use a second bricklet.
	</li>
</ul>

<p>
	To keep the two applications fully independently, I try to avoid an exchange of the measurements between the two applications through a kind of communication-protocol.
</p>

<p>
	Looking forward to any suggestions and hints.
</p>

<p>
	Cheers,
</p>

<p>
	Yvo
</p>
]]></description><guid isPermaLink="false">12722</guid><pubDate>Fri, 14 Feb 2025 08:39:55 +0000</pubDate></item><item><title>neue Funktion erw&#xFC;nscht: Motorized Linear Poti Bricklet</title><link>https://www.tinkerunity.org/topic/12601-neue-funktion-erw%C3%BCnscht-motorized-linear-poti-bricklet/</link><description><![CDATA[<p>
	Hi,
</p>

<p>
	beim Motorized Linear Poti Bricklet benötige ich die Möglichkeit, dass die "hold_position" auch ohne <span style="background-color:#ffffff;color:#333333;font-size:14px;">set_motor_position geändert werden kann.</span>
</p>

<p>
	<br />
	<span style="background-color:#ffffff;color:#333333;font-size:14px;">Das Problem:<br />
	Ich möchte virtuelle Marken beim Poti setzen. Soll heißen, dass wenn man über einen Wert händisch drüber fährt, dann wird das Poti </span>hold_position=True, damit man es merkt (~Force Feedback). Wenn man dann weiterfährt soll hold_position=False gesetzt werden bis zum zum nächsten Wert. Da aber das hold_position=False ERST umgesetzt wird, NACHDEM die "position" in set_motor_position EXAKT erreicht ist, kann beim zu schnellen händischen Ändern die "position" nie erreicht werden und das Poti bleibt "gesperrt" (hold_position=True).
</p>

<blockquote class="ipsQuote" data-ipsquote="">
	<div class="ipsQuote_citation">
		Zitat
	</div>

	<div class="ipsQuote_contents">
		<p>
			<span style="background-color:#ffffff;color:#333333;font-size:14px;">Wenn der<span> </span></span><em style="background-color:#ffffff;color:#333333;font-size:14px;">Hold Position</em><span style="background-color:#ffffff;color:#333333;font-size:14px;"><span> </span>Parameter auf False gesetzt wird, kann die Position vom Nutzer geändert werden, nachdem die Sollposition erreicht wurde.</span>
		</p>
	</div>
</blockquote>

<p>
	Daher meine Bitte einer neuen Funktion:<br />
	BrickletMotorizedLinearPoti.set_motor_hold(hold_position)<br />
	<br />
	Vielen Dank
</p>

<p>
	Jan
</p>

<p>
	P.S. Ein schönes Weihnachtsfest an alle.
</p>
]]></description><guid isPermaLink="false">12601</guid><pubDate>Mon, 09 Dec 2024 10:33:43 +0000</pubDate></item><item><title>Qt Creator Problem mit Connect-Befehl</title><link>https://www.tinkerunity.org/topic/12563-qt-creator-problem-mit-connect-befehl/</link><description><![CDATA[<p>
	Ich habe eine Klasse in Qt mit dem Creator erstellt. der Aufruf der Funktion "SetOnLCD128x64()" funktioniert problemlos. Beim Connect-Befehl klappt es leider nicht.
</p>

<p>
	 
</p>

<p>
	   cltf128x64* cl_lcd = new cltf128x64();  // cltf128x64 ist in separater Header und Sourcecode-Datei deklariert/definiert 
</p>

<p>
	    cl_lcd-&gt;SetOnLCD128x64(); // funktioniert
</p>

<p>
	<br />
	    connect(ui-&gt;pBuLCD2SetOn, &amp;QPushButton::clicked, &amp;cl_lcd, &amp;cltf128x64::SetOnLCD128x64); // verursacht Fehler
</p>

<p>
	die Fehlermeldung:
</p>

<p>
	uwMainWindow.cpp:40:5: No matching member function for call to 'connect'<br />
	qobject.h:200:36: candidate function not viable: no known conversion from 'void (QAbstractButton::*)(bool)' to 'const char *' for 2nd argument<br />
	qobject.h:203:36: candidate function not viable: no known conversion from 'void (QAbstractButton::*)(bool)' to 'const QMetaMethod' for 2nd argument<br />
	qobject.h:396:41: candidate function not viable: no known conversion from 'void (QAbstractButton::*)(bool)' to 'const char *' for 2nd argument<br />
	qobject.h:221:9: candidate template ignored: substitution failure [with Func1 = void (QAbstractButton::*)(bool), Func2 = void (cltf128x64::*)()]: no type named 'ContextType' in 'QtPrivate::ContextTypeForFunctor&lt;void (cltf128x64::*)()&gt;'<br />
	qobject.h:270:9: candidate function template not viable: requires 3 arguments, but 4 were provided
</p>

<p>
	 
</p>

<p>
	Hat jemand eine Idee woran's hängt.
</p>

<p>
	Vielen Dank
</p>

<p>
	Uwe
</p>
]]></description><guid isPermaLink="false">12563</guid><pubDate>Mon, 04 Nov 2024 21:17:22 +0000</pubDate></item><item><title>IMU Script zu schnell um Beschleunigung aufzunehmen?</title><link>https://www.tinkerunity.org/topic/12540-imu-script-zu-schnell-um-beschleunigung-aufzunehmen/</link><description><![CDATA[<p>
	Hallo zusammen,
</p>

<p>
	ich hab ein etwas merkwürdiges Problem. 
</p>

<p>
	Ausgangslage: Ein Script startet nach dem booten automatisch, liest ein IMU und drei IR Range Module aus und legt dann den Pi schlafen...
</p>

<p>
	Das funktioniert auch ganz gut. Aber: Nun habe ich etwas den Kernel getweakt und auch unnötige Dienste abgeschaltet um den Bootprozess zu beschleunigen. Und plötzlich bekomme ich vom IMU nur noch die Eulerwinkel nicht aber die Beschleunigung. Wenn ich irgendeinen Dienst wieder reinnehme (einfach nur um das booten zu verlängern) geht es wieder... Die Vermutung liegt also nahe, dass ich einfach zu schnell bin, bzw. der IMU noch nicht soweit ist....
</p>

<p>
	Frage: Gibt es da eine diskrete Zeit wie lange das IMU braucht? Und/oder gibt es da einen Trick im Script den Status des Beschleunigungssensors abzuwarten?
</p>

<p>
	 
</p>

<p>
	Grüße,
</p>

<p>
	Ekki
</p>
]]></description><guid isPermaLink="false">12540</guid><pubDate>Mon, 21 Oct 2024 07:42:11 +0000</pubDate></item><item><title>Java IPConnection.DisconnectedListener funktioniert nicht?</title><link>https://www.tinkerunity.org/topic/12515-java-ipconnectiondisconnectedlistener-funktioniert-nicht/</link><description><![CDATA[<p>
	Hallo zusammen,
</p>

<p>
	ich habe versucht, einen <code>DisconnectedListener</code> zu implementieren, stoße dabei aber auf Probleme.
</p>

<p>
	Wenn ich die LAN-Verbindung zwischen der Ethernet Extension und dem Brick unterbreche, wird der <code>DisconnectedListener</code> nicht ausgelöst. Auch beim Trennen der Stromversorgung passiert nichts.
</p>

<p>
	Erst als ich einen <code>ConnectedListener</code> hinzugefügt und <code>AutoReconnect</code> aktiviert habe, wurde der <code>DisconnectedListener</code> ausgelöst. Allerdings geschieht dies genau zu dem Zeitpunkt, an dem sich der <code>AutoReconnect</code> wieder verbindet (also wenn der <code>ConnectedListener</code> ausgeführt wird), was etwas dauert. Der <code>DisconnectedListener</code> wird also nicht direkt beim Verlust der Verbindung aktiviert.
</p>

<p>
	Entferne ich <code>AutoReconnect</code> und den <code>ConnectedListener</code> wieder, wird der <code>DisconnectedListener</code> überhaupt nicht ausgelöst.
</p>

<p>
	Ist dieses Verhalten so gewollt? Es erscheint mir ziemlich unsinnig, wenn beide Listener quasi zur gleichen Zeit triggern.
</p>

<p>
	Was kann ich tun? Was mache ich falsch? Was habe ich nicht verstanden? <span>:D</span>
</p>

<p>
	 
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">public void connectToStack() {
        try {
            ipCon = new IPConnection();

            ipCon.setTimeout(250);
            ipCon.setAutoReconnect(true);

            ipCon.addDisconnectedListener(new IPConnection.DisconnectedListener() {
                public void disconnected(short disconnectReason) {
                    System.out.println("Disco");
                }
            });

            ipCon.addConnectedListener(new IPConnection.ConnectedListener() {
                public void connected(short con) {
                    System.out.println("conn");
                }
            });

            ipCon.connect(hostname, port);
            logger.info(
                    String.format("Successfully connected to Tinkerforge stack #%s (%s:%s)", number, hostname, port));

            isConnectedToStack = true;

        } catch (NetworkException | AlreadyConnectedException e) {
            logger.severe(
                    String.format("Failed to connect to Tinkerforge stack #%s (%s:%s)", number, hostname, port));

            isConnectedToStack = false;
        }
    }</span></pre>

<p>
	 
</p>

<p>
	Viele Grüße
</p>
]]></description><guid isPermaLink="false">12515</guid><pubDate>Thu, 10 Oct 2024 17:25:00 +0000</pubDate></item><item><title>Brick Daemon 2.4.6 not working</title><link>https://www.tinkerunity.org/topic/12411-brick-daemon-246-not-working/</link><description><![CDATA[<p>
	Hello,
</p>

<p>
	I have upgraded four of our systems from brickd 2.4.5 -&gt; 2.4.6, and brickd stopped responding on all of them:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="tag">&lt;I&gt;</span><span class="pln"> </span><span class="tag">&lt;main_linux.c:385&gt;</span><span class="pln"> Brick Daemon 2.4.6 started (architecture: arm, pid: 25228, daemonized: 1)
</span><span class="tag">&lt;I&gt;</span><span class="pln"> </span><span class="tag">&lt;main_linux.c:391&gt;</span><span class="pln"> Running on Linux system (sysname: Linux, release: 6.1.21-v7+, version: #1642 SMP Mon Apr  3 17:20:52 BST 2023, machine: armv7l)
</span><span class="tag">&lt;I&gt;</span><span class="pln"> </span><span class="tag">&lt;bricklet.c:274&gt;</span><span class="pln"> Found supported HAT product_id 0x084e in device tree, using default HAT Brick config
</span><span class="tag">&lt;I&gt;</span><span class="pln"> </span><span class="tag">&lt;bricklet.c:315&gt;</span><span class="pln"> Found Bricklet port A (spidev: /dev/spidev0.0, driver: gpio, name: GPIO23, num: 23)
</span><span class="tag">&lt;I&gt;</span><span class="pln"> </span><span class="tag">&lt;bricklet_stack_linux.c:87&gt;</span><span class="pln"> Using spidev backend for Bricklets, because Raspberry Pi without BCM2835 detected
</span><span class="tag">&lt;I&gt;</span><span class="pln"> </span><span class="tag">&lt;bricklet.c:315&gt;</span><span class="pln"> Found Bricklet port B (spidev: /dev/spidev0.0, driver: gpio, name: GPIO22, num: 22)
</span><span class="tag">&lt;I&gt;</span><span class="pln"> </span><span class="tag">&lt;bricklet.c:315&gt;</span><span class="pln"> Found Bricklet port C (spidev: /dev/spidev0.0, driver: gpio, name: GPIO25, num: 25)
</span><span class="tag">&lt;I&gt;</span><span class="pln"> </span><span class="tag">&lt;bricklet.c:315&gt;</span><span class="pln"> Found Bricklet port D (spidev: /dev/spidev0.0, driver: gpio, name: GPIO26, num: 26)
</span><span class="tag">&lt;I&gt;</span><span class="pln"> </span><span class="tag">&lt;bricklet.c:315&gt;</span><span class="pln"> Found Bricklet port E (spidev: /dev/spidev0.0, driver: gpio, name: GPIO27, num: 27)
</span><span class="tag">&lt;I&gt;</span><span class="pln"> </span><span class="tag">&lt;bricklet.c:315&gt;</span><span class="pln"> Found Bricklet port F (spidev: /dev/spidev0.0, driver: gpio, name: GPIO24, num: 24)
</span><span class="tag">&lt;I&gt;</span><span class="pln"> </span><span class="tag">&lt;bricklet.c:315&gt;</span><span class="pln"> Found Bricklet port G (spidev: /dev/spidev0.0, driver: gpio, name: GPIO7, num: 7)
</span><span class="tag">&lt;E&gt;</span><span class="pln"> </span><span class="tag">&lt;bricklet_stack_linux_spidev.c:263&gt;</span><span class="pln"> Could not find line GPIO7
</span><span class="tag">&lt;I&gt;</span><span class="pln"> </span><span class="tag">&lt;main_linux.c:579&gt;</span><span class="pln"> Brick Daemon 2.4.6 stopped</span></pre>

<p>
	These systems are all Raspberry Pi 3 Model A Plus Rev 1.0 with a HAT Brick.
</p>

<p>
	Downgrading to brickd 2.4.5 fixed the problem on all four systems, for now.
</p>

<p>
	Is this a known issue?
</p>
]]></description><guid isPermaLink="false">12411</guid><pubDate>Thu, 18 Jul 2024 21:21:23 +0000</pubDate></item><item><title>Rotation Matrix for Yaw, Pitch and roll with IMU bricklet 3.0</title><link>https://www.tinkerunity.org/topic/12480-rotation-matrix-for-yaw-pitch-and-roll-with-imu-bricklet-30/</link><description><![CDATA[<p>
	Hello,
</p>

<p>
	I have IMU bricklet 3.0 and get Yaw, Pitch and Roll data. I want to calculate the position [X Y Z] in earth frame of a given point (x, y, z coordinates in IMU reference frame is [1, 0, 0] ) according to Pitch, Roll and Yaw data from IMU.
</p>

<p>
	I have difficulties to find the rotation matrix R (3x3) to get X,Y,Z. The formula is [X,Y,Z]= [x,y,z] * R.
</p>

<p>
	I worked for hours on this and tried many differents rotation matrix according to this source : <a href="https://en.wikipedia.org/wiki/Euler_angles" rel="external nofollow">https://en.wikipedia.org/wiki/Euler_angles</a>.
</p>

<p>
	I don't know in witch order the 3 rotations are done (around IMU axes) and I don't know which axes are used for Pitch Yaw and roll reference in the IMU...
</p>

<p>
	I think IMU use extrinsic references axes : for example when roll is about 30°, if I change the pitch the heading change also.
</p>

<p>
	I found this discussion about BNO055 sensor (used in IMU 3.0) but it doesn't solve my problem ! <a href="https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/BNO055-How-to-use-Euler-angles/td-p/45085" rel="external nofollow">https://community.bosch-sensortec.com/t5/MEMS-sensors-forum/BNO055-How-to-use-Euler-angles/td-p/45085</a>
</p>

<p>
	Does someone has the correct rotation matrix ? or could help me (ideas to proceed some tests, some references....)
</p>

<p>
	Thanks
</p>

<p>
	Gil.
</p>
]]></description><guid isPermaLink="false">12480</guid><pubDate>Thu, 12 Sep 2024 12:14:47 +0000</pubDate></item><item><title>api evse_auto_start_charging</title><link>https://www.tinkerunity.org/topic/12441-api-evse_auto_start_charging/</link><description><![CDATA[<p>
	<span style="font-size:14px;">Hallo,</span>
</p>

<p>
	<span style="font-size:14px;">zwei Fragen in diesem Kontext:</span>
</p>

<p>
	<span style="font-size:14px;">1) Ich greife über das API mit obiger url "evse_auto_start_charging" zu. Ich kann bestens den Status abfragen, true oder false. Beim Versuch der Veränderung des Status bekomme ich folgende Fehlermeldung: "<span>Failed to deserialize: Payload was empty. Please send valid JSON."</span></span>
</p>

<p>
	<span style="font-size:14px;">Dabei habe ich als Postfield exakt das Ergebnis der Statusabfrage eingegeben, bzw. genau wie es auch in der Dokumentation angeben ist. Z.B. <span>{"auto_start_charging":false}   </span>Was mache ich falsch?</span>
</p>

<p>
	<span style="font-size:14px;">2) Wenn ist diesen Parameter in der WebGUI ändern will (<span style="background-color:rgb(255,255,255);text-align:left;">Manual charge release, inhaltlich umgekehrte Logik, aber egal</span>), dann muss einmal ein Reboot durchgeführt werden. Muss ich hier etwas über die Schnittstelle bedienen, oder geht das automatisch?</span>
</p>

<p>
	Herzlichen Dank im voraus!
</p>

<p>
	Henrik
</p>

<p>
	<span style="font-size:14px;"> </span>
</p>
]]></description><guid isPermaLink="false">12441</guid><pubDate>Sat, 17 Aug 2024 14:53:06 +0000</pubDate></item><item><title>Did not receive response for function 255 in time (-1)</title><link>https://www.tinkerunity.org/topic/12416-did-not-receive-response-for-function-255-in-time-1/</link><description><![CDATA[<p>
	Dear list
</p>

<p>
	Some bricklets are used by services written as Python-scripts started automatically at the startup of the RaspberryPis were the applications are running. One of those bricklets is an IndustrialDualRelay.
</p>

<p>
	At the start of the service / of the script, I am getting sometimes the following exception:
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">Exception during usage of DualRelay: Did not receive response for function 255 in time (-1)</span></pre>

<p>
	Question:
</p>

<ul>
	<li>
		Can it be, that the service starts to early and the connection to the bricklet cannot be established?
	</li>
	<li>
		And do you have any suggestions?
	</li>
</ul>

<p>
	Thank you advance for any ideas and hints.
</p>

<p>
	Cheers. Yvo
</p>
]]></description><guid isPermaLink="false">12416</guid><pubDate>Fri, 19 Jul 2024 13:01:06 +0000</pubDate></item><item><title>hat.set_sleep_mode and "sudo shutdown" in combination</title><link>https://www.tinkerunity.org/topic/12414-hatset_sleep_mode-and-sudo-shutdown-in-combination/</link><description><![CDATA[<p>
	Dear list
</p>

<p>
	For a measurement-device, I had to implement a delayed shutdown of the entire device. The device is a RPi in combination with a HAT. The delayed shutdown and power-cut is realized using a manual switch and a IndustrialDualRelais. You will find a more detailed description in the following thread (last entry): <a href="https://www.tinkerunity.org/topic/12040-hat-brick-5v-power-supply-without-usb-connector-but-using-additionally-solded-cable-onto-the-hat/?do=findComment&amp;comment=55923" rel="">Combined power-supply of HAT and RPi</a>
</p>

<p>
	Reason for the delay is, to provide more time to the RPi to write all data to the disk.
</p>

<p>
	The approach described in the link above works perfectly. But ...
</p>

<p>
	I am cutting the power-supply of the RPi the hard-way without running a proper shutdown of the RPi. But if I am calling a correct shutdown of the RPi by
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln"> os.system("sudo shutdown now")</span></pre>

<p>
	the HAT will not react anymore and the used HAT-funktion
</p>

<pre class="ipsCode prettyprint lang-html prettyprinted"><span class="pln">hat.set_sleep_mode(0, 2**32-1, True, True, False)</span></pre>

<p>
	is not working/called anymore.
</p>

<p>
	Question:
</p>

<ul>
	<li>
		Any ideas to combine a <em>shutdown of the RPi</em>, the <em>hat.set_sleep_mode</em> and the following <em>cut of the entire power-supply</em>?
	</li>
</ul>

<p>
	Looking forward to any ideas and hints.
</p>

<p>
	Cheers. Yvo
</p>
]]></description><guid isPermaLink="false">12414</guid><pubDate>Fri, 19 Jul 2024 08:00:07 +0000</pubDate></item><item><title>Rugged Approach: Using several bricks of same type</title><link>https://www.tinkerunity.org/topic/12041-rugged-approach-using-several-bricks-of-same-type/</link><description><![CDATA[<p>
	Dear List
</p>

<p>
	I am using the <a href="https://www.tinkerforge.com/en/doc/Tutorials/Tutorial_Rugged/Tutorial.html" rel="external nofollow">Rugged Approach</a> approach for programming in<em> C#</em> and in <em>Python</em>. It just works perfectly! Thanks for the great tutorial.
</p>

<p>
	Till now, I worked with many bricklets, but each of a different type. For this case, the approach and code in the tutorial works like a charm.
</p>

<p>
	Question:
</p>

<ul>
	<li>
		But what would be the best-practice, if you have several bricklets of the same type?
	</li>
</ul>

<p>
	Of course, I could use the <em>UID </em>of the individual bricklets to make the differentiation of the individual bricklets. But I would like to avoid the usage of the <em>UID </em>in <em>Rugged Approach</em> for several reasons:
</p>

<ul>
	<li>
		Lost of the very generic procedure of the <em>Rugged Approach</em> introducing somehow hard-coded <em>UIDs </em>of bricklet.
	</li>
	<li>
		Incompatibility of several installations of hardware having different <em>UID</em>s.
	</li>
</ul>

<p>
	In the specific application I am working on, the bricklets are connected with a <em>HAT Brick</em>.
</p>

<p>
	Question:
</p>

<ul>
	<li>
		Is there a possibility to avoid the <em>UID</em>s?
	</li>
	<li>
		Could I use the information of the ports were each of the bricklet is connected to? In this case, I have to make sure, that each bricklet is connected with a well defined port. An approach which could be realistic. The information of the port connected to would be based on the return value of the <code>get_identity</code><big>() </big>function of each bricklet.
	</li>
	<li>
		If I would use the <em>UID</em>s, is it reasonable/possible to change the <em>UID</em>s of the individual bricklets to have the same <em>UID</em>s of the bricklets in each identical installation of the hardware.
	</li>
</ul>

<p>
	Looking forward to any ideas and suggestions.
</p>

<p>
	Cheers,
</p>

<p>
	Yvo
</p>
]]></description><guid isPermaLink="false">12041</guid><pubDate>Sun, 19 Nov 2023 13:38:18 +0000</pubDate></item><item><title>Prometheus Exporter</title><link>https://www.tinkerunity.org/topic/12404-prometheus-exporter/</link><description><![CDATA[<p>
	Wollte mal schauen, ob es schon jemanden gibt, der Metriken und Zustände für prometheus exportiert? Würde gerne Informationen in Grafana darstellen.
</p>

<p>
	Die Warp3 hat ja scheinbar eine API, damit sollte das ja prima gehen.
</p>
]]></description><guid isPermaLink="false">12404</guid><pubDate>Fri, 12 Jul 2024 22:26:48 +0000</pubDate></item></channel></rss>
