photron
Administrators-
Gesamte Inhalte
3.125 -
Benutzer seit
-
Letzter Besuch
-
Tagessiege
47
Alle erstellten Inhalte von photron
-
Brick Daemon auf Sysology DiskStation
Thema antwortete auf photrons Merthos in: Software, Programmierung und externe Tools
Das habe ich gerade korrigiert, Danke für den Hinweis. -
Der Verbrauch des Industrial Digital 4 In variiert nur minimalst abhängig von der Beschaltung der Eingänge. Das definiere ich jetzt mal als festen Verbrauch Beim Industrial Digital 4 Out wird bei High eine LED im Optokoppler eingeschaltet, das verbraucht dann 2mA pro Ausgang auf High. Das habe ich jetzt in der Doku und im Shop korrigiert. Danke für die Nachfrage.
-
Ertappt Ich hatte beim Quad Relay nicht im geschalteten Zustand gemessen. Jetzt ist die Angabe wie beim Dual Relay: Pro Relais im geschalteten Zustand. Macht 2mA pro geschaltetem Relais.
-
Ist jetzt für alle Bricks, Bricklets und Extensions dokumentiert.
-
Nein, davon kannst du nicht ausgehen. Der Eigenverbrauch liegt deutlich unter 25mA wenn nichts angegeben ist. Ich setze mir mal auf die TODO Liste den Eigenverbrauch für alle Bricklets zu messen bei denen das noch nicht angegeben ist.
-
Am einfachsten packst du die benötigten Dateien der Bindings in den gleichen Ordner wie den Quelltext deines Programms und fügst sie dem Dev-C++ Projekt hinzu. Das sollte schon reichen. Im Fall der Wetterstation sind das ip_connection.c ip_connection.h bricklet_lcd_20x4.c bricklet_lcd_20x4.h bricklet_ambient_light.c bricklet_ambient_light.h bricklet_barometer.c bricklet_barometer.h bricklet_humidity.c bricklet_humidity.h Falls du dein Programm in C++ statt C schreibst muss du die .c Dateien nach .cpp umbenennen. Ich hab jetzt auch mal hier die Dokumentation dafür erweitert: http://www.tinkerforge.com/de/doc/Software/API_Bindings_C.html#orwell-dev-c
-
IPConnection loopt im Disconnect, C Bindings 2.0.7
Thema antwortete auf photrons remotecontrol in: Software, Programmierung und externe Tools
Richtig, das ist exakt das Problem. Danke für's Debuggen und sorry, dass mir das nicht aufgefallen ist. In C/C++ 2.0.8 Bindings ist das jetzt korrigiert. -
Bindings: C/C++ 2.0.8 Avoid potential infinite loop in receive thread Handle incoming data correctly if multiple packets are received at once Download: C/C++
-
Bindings: C/C++ 2.0.8 Möglichkeit einer nicht abbrechenden while Schleife im Receive-Thread unterbunden Eingehende Daten werden korrekt behandelt wenn mehrere Packete auf einmal empfangen werden Download: C/C++
-
Ich hab die Dokumentation aktualisiert. Mit Antenne steigt der Verbrauch um ca. 10mA.
-
Wie sieht die Fehlermeldung aus, die du bekommst, wenn der Compiler "spinnt"? Versucht du das in der Arduino IDE zu kompilieren? Das wird nicht funktionieren. Du brauchst sowas wie Microsoft Visual Studio Express oder Qt Creator oder Dev-C++. Das hat nichts mit Windows XP zu tun, das ist nicht dein Problem. Da die C Bindings auch für ObjC funktionieren, wird es von uns zumindest in nächster Zeit keine speziellen ObjC Bindings geben.
-
Wo fügst du denn die Bindings ein? Welche Fehlermeldungen bekommst du denn? Was für Plugins meinst du? Die C/C++ Bindings sind mit dem GCC/G++ Compiler (auch MinGW) und dem Microsoft Visual Studio Compiler getestet, sollten aber auch mit anderen C/C++ Compilern funktionieren.
-
Allgemeine Fragen zur Realisierung einer Rollosteuerung
Thema antwortete auf photrons Chris in: Anfängerfragen und FAQ
Das bedeutet, dass ein zu brickd verbundenes Programm (brickv, oder dein eigens Steuerprogramm) die TCP/IP Verbindung aktiv beendet hat und dies von der brickd Seite nicht erwartet war, da noch Aktionen ausstanden. Das kann z.B. sein, dass noch Daten zu lesen waren oder ähnliches. Das kann mit deinem Relais Problem zusammenhängen, muss es aber nicht. Es kann auch einfach nur auf ungünstiges Verhalten in deinem Programm hindeuten. Schwer zu sagen nur aus der Fehlermeldung heraus -
IPConnection loopt im Disconnect, C Bindings 2.0.7
Thema antwortete auf photrons remotecontrol in: Software, Programmierung und externe Tools
Das ist komisch. Ich habe mir gerade die Änderungen zwischen 2.0.5 und 2.0.7 angesehen und da ist nichts dabei was diese Verhalten auf Anhieb erklärt. Okay zum Backtrace: der Receive Thread (Thread 2 in gdb) scheint im table_get() zu stehen. Das ist komisch. Auch das der table_get() Aufruf für UID 0ist, ist komisch, da UID keine gültige UID für ein Brick oder Bricklet ist. Weiterhin ist im ipcon_receive_loop() Aufruf pending_length = 34, der erste Header in pending_data ist aber voller Nullen. Will sagen, da ist was sehr faul. Da der Header voller Nullen ist ist length in Zeile 1302 auch 0 und damit bleibt pending_data auf 34 und die while (true) Schleife in Zeile 1296 bricht nicht ab und der Thread endet nicht. Der Receive Thread steht also nicht in table_get(), sondern du hast den Thread nur gerade zufällig da angehalten. Das Problem ist also, dass im pending_data Buffer falsche Daten stehen (lauter Nullen). Die Frage ist jetzt wie die dahin gekommen sind: Hat brickd die wirklich geschickt? Du könntest mit Version 2.0.7 nach dem socket_receive in Zeile 1272 einmal die Werte von length, pending_length und den Inhalt von pending_data per printf oder Ähnlichem ausgeben, um zu sehen ob da die Nullen wegkommen. Als Änderung für die IP Connection werde ich erstmal die while (true) Schleife in Zeile 196 durch eine while (ipcon->receive_flag) Schleife ändern, dann sollte das pthread_join() nicht mehr vergeblich warten. Das eigentliche Problem, dass im pending_data Buffer bei dir 34 Nullen stehen ist damit allerdings nicht behoben oder erklärt. -
IPConnection loopt im Disconnect, C Bindings 2.0.7
Thema antwortete auf photrons remotecontrol in: Software, Programmierung und externe Tools
pthread_join() blockt weil es darauf wartet, dass sich der Receive Thread beendet, was aber nicht zu passieren scheint. Ich denke, dass der in recv() steht und der shutdown() Aufruf den recv() Aufruf nicht abgebrochen hat. Kannst du das Problem einfach reproduzieren? Mich interessiert ein gdb Backtrace für alle Threads: thread apply all backtrace full Um zu sehen wo der Receive Thread wirklich steht. -
Danke für den Hinweise. Link ist korrigiert.
-
Funktioniert hier ohne Probleme unter Linux mit Python 3.2.3. Probier mal nach den prints stdout zu flushen: #!/usr/bin/env python import sys HOST = "localhost" PORT = 4223 UID = "aE7" # Change to your UID from tinkerforge.ip_connection import IPConnection from tinkerforge.bricklet_io16 import IO16 # Callback function for interrupts def cb_interrupt(port, interrupt_mask, value_mask): print('Interrupt on port: ' + port) print('Interrupt by: ' + str(bin(interrupt_mask))) print('Value: ' + str(bin(value_mask))) sys.stdout.flush() if __name__ == "__main__": # [...]
-
Maybe the EEPROM on the Dual Relay Bricklet storing its plugin was effected by EMI and got (partly) erased. You could try to flash the Dual Relay Bricklet again. As your stack doesn't boot if the Bricklet is connected you need to hotplug it: First connect the Master Brick to USB and wait for the end of the blinken lights sequence, then connect the Bricklet to the running Brick and finally flash it in brickv.
-
Brick Viewer 2.0.7 Fix naming of Industrial Dual 0-20mA Bricklet Downloads: Windows, Linux, Mac OS X
-
Brick Viewer 2.0.7 Benennung des Industrial Dual 0-20mA Bricklets korrigiert Downloads: Windows, Linux, Mac OS X
-
If the WIFI Extension associates with your router then the Master Brick has to be working (to some extent at least), because the WIFI Extension doesn't act on its own, it is configured and controlled by the Master Brick. IIRC you have a Dual Relay, a Distance IR and an LCD 20x4 Bricklet connected to your Master Brick. Is this the rest of the stack that doesn't show up anymore? Does the Master Brick itself still show up over the WiFi connection? If it doesn't, what happens if you connect the stack over USB?
-
Bindings: C/C++ 2.0.7, C# 2.0.8, Delphi 2.0.10, Java 2.0.8, PHP 2.0.8, Python 2.0.8, Ruby 2.0.8, VB.NET 2.0.4 Add support for PTC Bricklet and Industrial Dual 0-20mA Bricklet [all] Workaround for GCC 4.7 struct packing bug is only necessary on Windows [C/C++] Avoid breaking strict-aliasing [C/C++] Fix Windows Phone support [C#] Download: C/C++, C#, Delphi, Java, PHP, Python, Ruby, VB.NET
-
Bindings: C/C++ 2.0.7, C# 2.0.8, Delphi 2.0.10, Java 2.0.8, PHP 2.0.8, Python 2.0.8, Ruby 2.0.8, VB.NET 2.0.4 Support für PTC Bricklet und Industrial Dual 0-20mA Bricklet hinzugefügt [alle] Workaround für GCC 4.7 Struct Packing Bug ist nur für Windows notwendig [C/C++] Strict-Aliasing Regeln werden eingehalten [C/C++] Windows Phone Support funktioniert wieder [C#] Download: C/C++, C#, Delphi, Java, PHP, Python, Ruby, VB.NET
-
WeatherStationWebsite.php gives no Temperature
Thema antwortete auf photrons blackfox in: General Discussion
I changed the example to use ° to make it less error prone. -
Feature Wunsch für Viewer - deamon Steuerung
Thema antwortete auf photrons The_Real_Black in: Allgemeine Diskussionen
Der Brick Viewer benötigt keine Adminrechte. Eine Steueroption für den Brick Daemon in den Viewer einzubauen halte ich für keine gute Idee. Das wird viele Nutzer eher verwirren, u.a. weil sich das immer auf den lokale brickd beziehen würde und nicht den zu dem man gerade verbunden ist. Für Python gibt es für Service Steuerung das win32serviceutil Modul, unter der Annahme dass es hier um Windows geht. Ein Beispiel dazu. Ansonsten gibt es noch die Kommandozeilentools sc und net unter Windows: sc stop "Brick Daemon" net stop "Brick Daemon"