Jump to content

photron

Administrators
  • Gesamte Inhalte

    3.189
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    52

Alle erstellten Inhalte von photron

  1. Bindings: MQTT 2.0.6, Rust 2.0.10 JSON Parsing in Python < 3.6 korrigiert [MQTT] Streaming von Parametern fixer Länge korrigiert [Rust] Download: MQTT, Rust
  2. Firmware: Outdoor Weather Bricklet 2.0.4 Increase minimum gap between station/sensor messages to filter duplicates Download: Outdoor Weather Bricklet
  3. Firmware: Outdoor Weather Bricklet 2.0.4 Minimaler Abstand zwischen Stations/Sensor-Nachrichten erhöht um Duplikate herauszufiltern Download: Outdoor Weather Bricklet
  4. Passiert das nur einmal, oder passiert das jedes mal?
  5. Firmware: Rotary Poti Bricklet 2.0.3 Don't calculate average over missing values on first tick Download: Rotary Poti Bricklet
  6. Firmware: Rotary Poti Bricklet 2.0.3 Der Mittelwert der Position wird beim ersten Tick nicht mehr über fehlende Werte bestimmt Download: Rotary Poti Bricklet
  7. Das hört sich nach starkem Nachrichtenverlust an. Es gehen Enumerate Callbacks verloren, dadurch bekommst du beim Anstecken an USB nicht alle Bricks und Bricklets mit. Es gehen Abfragen an die Bricks und Bricklets verloren, dadurch bekommst du die Timeouts. Das du so starken Nachrichtenverlust über USB hast ist ungewöhlich. Da du das aber auch in Brick Viewer hast wird das höchstwahrscheinlich nichts mit deiner Software zu tun haben, sondern mit deinem speziellen Aufbau. Das passt dann auch dazu, dass es nur ab einer bestimmten Größe des Stapels auftritt. Nur um sicher zu gehen, dass wir hier nicht alte Bugs suchen: Hast du auf allen Bricks und Bricklets die aktuelle Firmware laufen? Der aktuelle Brick Viewer Version 2.4.4 zeigt dir das auf dem Setup Tab an. Hast du die aktuelle Brick Daemon Version 2.3.2 installiert? Wenn das nicht der Fall ist, dann updatet bitte zuerst mal alles auf die aktuellen Versionen. Beschreibe bitte mal den exakten Aufbau des Stapels (was ist wie wo mit welcher Kabellänge angeschlossen) der dir Probleme macht, damit ich das hier nachstellen kann. Wenn du auf macOS oder Linux arbeitest dann häng mir auch bitte mal die Brick Daemon Logdatei (/var/log/brickd.log) an, oder schick sie mir per E-Mail. Vielleicht kann ich daraus sehen warum der Nachrichtenverlust auftritt.
  8. Okay, du bekommst nicht alle Enumerate Callbacks in deinem Programm. Kannst du das Problem in Brick Viewer oder mit dem Java Enumerate Beispiel auch erzeugen? Sprich, fehlen in Brick Viewer oder dem Beispiel auch Bricks und Bricklets, wenn du den Stapel an USB ansteckst? Oder tauchen dort immer alle Bricks und Bricklets auf? Wenn es in Brick Viewer und dem Beispiel funktioniert, dann würde ich auf ein Problem in deiner Library tippen. Was meinst du mit "aussteigen"? Woran erkennst du das? Den Disconnect/Reconnect Loop löst dann deine Library als Reaktion auf das "aussteigen" aus? Du kannst mit einem Stapel nicht gleichzeitig über WLAN und USB kommunizieren, genau dies kann zu fehlgeleiteten/verlorenen Callbacks führen. Zumindest in deinem AllStatusLed_Loop_Example.java steht sich da deine synchronized Stack.disconnect() Methode selber auf den Füßen, weil diese IPConnection.disconnect() aufruft und auch als Reaktion auf den IPConnection Disconnected Callback aufgerufen wird. Du solltest dieses Problem in deiner Library erstmal lösen. Ich kann in meinen Tests keine Probleme mit sich nicht beendenden Threads außerhalb deiner Library erzeugen, daher kann ich da im Moment nichts fixen. Wenn es Fehler in den Java Bindings gibt werden wir diese natürlich beheben. Welches Problem ttt da genau hat weiß ich nicht. Meines Wissens nach hat ttt es nirgendwo genau geschildert.
  9. Sorry für die späte Antwort, der Thread ist mir wohl durch die Lappen gegangen. Yuna, wenn du von USB sprichst, dann meinst du, dass der Stapel über USB angeschlossen ist? Du verwendest keine WIFI oder Ethernet Extension? Tritt dieses Verhalten nur in deinem Programm auf, oder kannst du das auch in Brick Viewer nachstellen? Was meinst du mit "doch verliert sekündlich ein Brick oder Bricklet dann plötzlich die connection."? Die IPConnection stellt keine individuelle Verbindung zu jedem Brick und Bricklet her. Sondern die IPConnection verbindet sich mit dem Brick Daemon der auf deinem PC läuft an dem der Stapel per USB angeschlossen ist. Brick Daemon übersetzt dann die Anfragen und Antworten von TCP/IP nach USB und zurück. Daher hilft ein disconnect/connect der IPConnection nicht, um die Bricks und Bricklets dazu zu bringen sich per Enumerate Callback zu melden. Dafür ist die enumerate Methode der IPConnection da. Diese fordert alle Bricks und Bricklets auf sich der Enumerate Callback zu melden. Das übliche Vorgehen ist nach dem Verbindungsaufbau ein Enumerate anzufordern, um mitzubekommen was alles gerade angeschlossen ist. Wenn du, während dein Programm läuft, einen Stapel von USB ab/ansteckst, dann bekommst du dafür automatisch entsprechend Enumerate Callbacks.
  10. Brick Logger 2.1.0 Port to Python 3 Add support for CO2 2.0, Hall Effect 2.0, Laser Range Finder 2.0, Linear Poti 2.0, Joystick 2.0 and Segment Display 4x7 2.0 Bricklet and HAT and HAT Zero Brick Downloads: Windows, Linux, macOS, RED Brick
  11. Brick Logger 2.1.0 Auf Python 3 portiert Support für CO2 2.0, Hall Effect 2.0, Laser Range Finder 2.0, Linear Poti 2.0, Joystick 2.0 and Segment Display 4x7 2.0 Bricklet und HAT und HAT Zero Brick hinzugefügt Downloads: Windows, Linux, macOS, RED Brick
  12. Brick Viewer 2.4.4 Add support for CO2 2.0, E-Paper 296x128, Hall Effect 2.0, Joystick 2.0, Laser Range Finder 2.0, Linear Poti 2.0, Piezo Speaker 2.0, RGB LED 2.0 and Segment Display 4x7 2.0 Bricklet and HAT and HAT Zero Brick Add Data Logger support for CO2 2.0, Hall Effect 2.0, Laser Range Finder 2.0, Linear Poti 2.0, Joystick 2.0 and Segment Display 4x7 2.0 Bricklet and HAT and HAT Zero Brick Fix some string conversions in RED Brick plugin Show Master Extensions on RED Brick in devices tree Fix WIFI Extension firmware version lookup in Master Brick plugin Show WIFI Extension firmware version in Master Brick plugin Downloads: Windows, Linux, macOS
  13. Brick Viewer 2.4.4 Support für CO2 2.0, E-Paper 296x128, Hall Effect 2.0, Joystick 2.0, Laser Range Finder 2.0, Linear Poti 2.0, Piezo Speaker 2.0, RGB LED 2.0 and Segment Display 4x7 2.0 Bricklet und HAT und HAT Zero Brick hinzugefügt Data Logger Support für CO2 2.0, Hall Effect 2.0, Laser Range Finder 2.0, Linear Poti 2.0, Joystick 2.0 and Segment Display 4x7 2.0 Bricklet und HAT und HAT Zero Brick hinzugefügt Einige String-Umwandlungen im RED Brick Plugin korrigiert Master Extensions auf einem RED Brick werden auf dem Setup Tab angezeigt WIFI Extension Firmware-Versionsabfrage im Master Brick Plugin korrigiert WIFI Extension Firmware-Version wird im Master Brick Plugin angezeigt Downloads: Windows, Linux, macOS
  14. Bindings: C/C++ 2.1.25, C# 2.1.23, Delphi/Lazarus 2.1.24, Go 2.0.3, Java 2.1.23, JavaScript 2.1.23, LabVIEW 2.1.22, Mathematica 2.1.22, MATLAB/Octave 2.0.23, MQTT 2.0.5, Perl 2.1.22, PHP 2.1.22, Python 2.1.22, Ruby 2.1.22, Rust 2.0.9, Shell 2.1.22, Visual Basic .NET 2.1.22 Add support for CO2 2.0, E-Paper 296x128, Hall Effect 2.0, Joystick 2.0, Laser Range Finder 2.0, Linear Poti 2.0, Piezo Speaker 2.0, RGB LED 2.0 and Segment Display 4x7 2.0 Bricklet and HAT and HAT Zero Brick [all] Add remove-calibration and get/set-background-calibration-duration functions to Air Quality Bricklet API [all] Properly check UIDs and report invalid UIDs [all] Fix IP Connection auto-reconnect setting [Go] Properly strip trailing NUL-bytes from UIDs in enumerate callback [Go] Fix false-positive ArrayIndexOutOfBoundsExceptions in Industrial Counter Bricklet setAllCounterActive, Industrial Digital Out 4 Bricklet 2.0 setValue, Industrial Quad Relay Bricklet 2.0 setValue and IO-4 Bricklet 2.0 setValue methods [Java] Fix IP Connection disconnect probe handling [JavaScript] Add -v/--version parameter [MQTT] Fix handling of empty input streams Download: C/C++, C#, Delphi/Lazarus, Go, Java, JavaScript, LabVIEW, Mathematica, MATLAB/Octave, MQTT, Perl, PHP, Python, Ruby, Rust, Shell, Visual Basic .NET
  15. Bindings: C/C++ 2.1.25, C# 2.1.23, Delphi/Lazarus 2.1.24, Go 2.0.3, Java 2.1.23, JavaScript 2.1.23, LabVIEW 2.1.22, Mathematica 2.1.22, MATLAB/Octave 2.0.23, MQTT 2.0.5, Perl 2.1.22, PHP 2.1.22, Python 2.1.22, Ruby 2.1.22, Rust 2.0.9, Shell 2.1.22, Visual Basic .NET 2.1.22 Support für CO2 2.0, E-Paper 296x128, Hall Effect 2.0, Joystick 2.0, Laser Range Finder 2.0, Linear Poti 2.0, Piezo Speaker 2.0, RGB LED 2.0 und Segment Display 4x7 2.0 Bricklet und HAT und HAT Zero Brick hinzugefügt [alle] Neue remove-calibration und get/set-background-calibration-duration Funktionen zur Air Quality Bricklet API hinzugefügt [alle] UIDs werden ordentlich geprüft und ungültige UIDs gemeldet [alle] Setzen der IP Connection Auto Reconnect-Einstellung korrigiert [Go] Nachfolgende NUL-Bytes werden von UIDs im Enumerate Callback korrekt entfernt [Go] ArrayIndexOutOfBoundsExceptions in Industrial Counter Bricklet setAllCounterActive, Industrial Digital Out 4 Bricklet 2.0 setValue, Industrial Quad Relay Bricklet 2.0 setValue und IO-4 Bricklet 2.0 setValue Methoden korrigiert [Java] IP Connection-Verbindungstest korrigiert [JavaScript] Neues -v/--version Parameter hinzugefügt [MQTT] Behandlung von leeren Input Streams korrigiert Download: C/C++, C#, Delphi/Lazarus, Go, Java, JavaScript, LabVIEW, Mathematica, MATLAB/Octave, MQTT, Perl, PHP, Python, Ruby, Rust, Shell, Visual Basic .NET
  16. Das stimmt nicht. Die Extension irgendwo im Stapel sein. Der RED Brick muss der unterste Brick im Stapel sein, alle anderen Bricks und Extensions können darüber beliebig angeordnet sein.
  17. Brick Viewer ist da inkonsistent und zeigt die Ethernet Extension beim RED Brick nicht an. Erkannt wird sie aber. Wir fixen das für die nächste Brick Viewer Version. Dass BrickMaster.IsEthernetPresent() dir false meldet ist korrekt. Nur ein Master Brick oder RED Brick an Position 0 im Stapel kann überhaupt Extensions nutzen. BrickMaster.IsEthernetPresent() sagt dir nicht, ob überhaupt eine Ethernet Extension vorhanden ist, sondern ob der Master Brick eine Ethernet Extension nutzen kann. Was er nur kann wenn er selbst an Position 0 im Stapel ist und eine Ethernet Extension vorhanden ist. Die Dokumentation ist da nicht deutlich genug, ich werde da verbessern.
  18. Das UTF-8 BOM Problem ist jetzt in Brick Viewer 2.4.3 behoben.
  19. Brick Viewer 2.4.3 Fix date display format for triggered Real-Time Clock Bricklet (2.0) alarms Always show correct Dual Button Bricklet (2.0) button state Don't leave Thermal Imaging Bricklet image callback enabled on exit Fix off-by-one errors in plot curves and y-axis Improve RED Brick communication error handling Stop preselecting serial port for Brick flashing Stop Qt from adding UTF-8 BOM when copying text to the clipboard on macOS Fix Ethernet Extension configuration check Port IMU Brick (2.0) 3D view to modern OpenGL making it work on Raspberry Pi Downloads: Windows, Linux, macOS
  20. Brick Viewer 2.4.3 Datumsformat für ausgelöste Real-Time Clock Bricklet (2.0) Alarme korrigiert Es wird immer der richtige Knopfzustand für das Dual Button Bricklet (2.0) angezeigt Thermal Imaging Bricklet Image Callback wird beim Beenden wieder deaktiviert Off-By-One Fehler in Plotkurven und Y-Achse korrigiert RED Brick Kommunikationsfehlerbehandlung verbessert Serielle Schnittstelle für Brick Flashen wird nicht mehr automatisch vorausgewählt Hindert Qt auf macOS daran einen UTF-8 BOM beim Kopieren von Text in die Zwischenablage einzufügen Ethernet Extension Konfigurationscheck korrigiert IMU Brick (2.0) 3D Ansicht auf modernes OpenGL portiert damit es auf dem Raspberry Pi funktioniert Downloads: Windows, Linux, macOS
  21. Firmware: Dual Relay Bricklet 2.0.1, Industrial Dual Relay Bricklet 2.0.2, Solid State Relay Bricklet 2.0.1 Don't clear monoflop time on monoflop abort to match documentation Download: Dual Relay, Industrial Dual Relay, Solid State Relay Firmware: Industrial Quad Relay Bricklet 2.0 2.0.2 Make monoflop time-remaining count down instead of up Download: Industrial Quad Relay 2.0 Firmware: IO-4 Bricklet 2.0 2.0.3 Abort active monoflop/PWM on set-configuration call for output Don't clear monoflop time on monoflop done/abort to match documentation Download: IO-4 2.0 Firmware: Solid State Relay Bricklet 2.0 2.0.2 Make get-monoflop always return the current state to match documentation Download: Solid State Relay 2.0 Firmware: Industrial Digital Out 4 Bricklet 2.0 2.0.1, IO-16 Bricklet 2.0 2.0.1 Abort active monoflop on set-(selected-)value call Don't clear monoflop time on monoflop done/abort to match documentation Download: Industrial Digital Out 4 2.0, IO-16 2.0
  22. Firmware: Dual Relay Bricklet 2.0.1, Industrial Dual Relay Bricklet 2.0.2, Solid State Relay Bricklet 2.0.1 Monoflop-Zeit wird beim Abbruch des Monoflop entsprechend der Dokumentation nicht zurückgesetzt Download: Dual Relay, Industrial Dual Relay, Solid State Relay Firmware: Industrial Quad Relay Bricklet 2.0 2.0.2 Verbleibende Monoflop-Zeit zählt runter statt rauf Download: Industrial Quad Relay 2.0 Firmware: IO-4 Bricklet 2.0 2.0.3 Aktiver Monoflop/PWM wird beim Aufruf von set-configuration für einen Ausgang abgebrochen Monoflop-Zeit wird beim Ende/Abbruch des Monoflop entsprechend der Dokumentation nicht zurückgesetzt Download: IO-4 2.0 Firmware: Solid State Relay Bricklet 2.0 2.0.2 Ein get-monoflop Aufruf gibt entsprechend der Dokumentation immer den aktuellen Zustand zurück Download: Solid State Relay 2.0 Firmware: Industrial Digital Out 4 Bricklet 2.0 2.0.1, IO-16 Bricklet 2.0 2.0.1 Aktiver Monoflop wird beim Aufruf von set-(selected-)value abgebrochen Monoflop-Zeit wird beim Ende/Abbruch des Monoflop entsprechend der Dokumentation nicht zurückgesetzt Download: Industrial Digital Out 4 2.0, IO-16 2.0
  23. Okay, ich habe mir NetBeans 8.2 installiert und kann das Problem nachstellen. Das scheint eine bisher ungefixter Bug in Qt 5 unter macOS zu sein, dass der BOM beim Kopieren damit dran gepackt wird: https://bugreports.qt.io/browse/QTBUG-61562 Teste mal bitte diese Brick Viewer Version, die einen Workaround für dieses Bug beinhaltet: http://download.tinkerforge.com/_stuff/brickv_macos_2_4_2_utfbom_fix.dmg Auf dem Setup Tab kannst du die UID in der Baumansicht markieren und per Cmd+C kopieren.
  24. Die Extra Bytes da sind der "UTF-8 Byte Order Mark", der bei UTF-8 optional ist. Kann ich allerdings nicht nachstellen. Wenn ich unter macOS 10.11.6 mit Brick Viewer 2.4.2 die UID aus der Setup Tab Tabelle oder dem Device Tab kopieren und in nano einfüge bekomme ich nur exakt die Bytes die ich erwarte. Eigentlich ist ein "Byte Order Mark" nur am Anfang erlaubt. Bei dir steht er dann aber in der Mitte der Datei und dein Editor lässt dir das durchgehen. Dazu erschwerend kommt, dass die C/C++ Bindings beim Base58 dekodieren nicht so streng sind wie die anderen Bindings und dir 0xEF, 0xBB, 0xBF durchgehen lassen, dadurch die UID aber falsch dekodieren. Dadurch schicken die Bindings dann intern an die falsche UID und du bekommst einen Timeout. Ich setze mir das mal auf die TODO Liste, dass in den C/C++ Bindings zu verbessern und bei ungültiger UID das auch so als Fehler zu melden, anstatt das still hinzunehmen.
  25. Ich habe das gerade getestet und kann das Problem nicht nachstellen. Folgende Schritte: - http://download.tinkerforge.com/bindings/c/tinkerforge_c_bindings_2_1_24.zip herunterladen und entpacken. - Das example_simple.c Beispiel für das Rotary Poti Bricklet und die ip_connection.[ch] und bricklet_rotary_poti.[ch] Dateien zusammen in ein leeres Verzeichnis kopiert. - In example_simple.c die UID angepasst. - Dort im Terminal mittels "gcc -Wall -pthread -I. *.c" kompiliert - Im Terminal mit "./a.out" ausgeführt - Funktioniert, Programm gibt aktuelle Position aus.
×
×
  • Neu erstellen...