Jump to content

photron

Administrators
  • Gesamte Inhalte

    3.125
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    47

Alle erstellten Inhalte von photron

  1. Bindings: Rust 2.0.11 Device Constructor kann mit IpConnectionRequestSender aufgerufen werden Download: Rust
  2. Richtig, die Winkelbestimmung mit dem Accelerometer Bricklet 2.0 geht davon aus, dass das Bricklet ruht und die Erdbeschleunigung misst. Der IMU Brick 2.0 kann das intern kompensieren. Dadurch kannst er die Lagewinkel auch in Bewegung korrekt bestimmen.
  3. Einen Enumerate Available Callback kannst du ignorieren, wenn du das Device schon kennst. Einen Enumerate Connected Callback solltest du nicht ignorieren, da dieser dir anzeigt, dass das Device gerade gestartet ist und daher seine vorherige Konfiguration verloren hat.
  4. Gib mal das enumeration_type Parameter des Enumerate Callbacks mit aus, um zu sehen, ob das ein Available oder Connected Enumerate Callback ist. Available bedeutet, dass das Enumerate angefordert wurde. Sprich, vielleicht hast du ein anderes Programm laufen, dass jede Minute ein Enumerate anfordert. Wenn du z.B. in Brick Viewer auf Connect klickst, dann fordert Brick Viewer in dem Zug auch ein Enumerate an. Connected bedeutet, dass das Enumerate vom Brick/Bricklet ausgelöst wurde. Sprich, es könnte sein, dass der Stapel jede Minute neustartet. Registriere auch mal den Connected und Disconnected Callback der IP Connection, um zu sehen ob dort Auto-Reconnects passieren. Das wäre ein Hinweis darauf, dass der Stapel jede Minute neustartet.
  5. Teste mal bitte das angehängte Beispiel. Dort werden in der Callback-Funktion die Winkel ausgerechnet, genauso wie es Brick Viewer tut. matlab_example_pitch_roll_callback.m
  6. Das ist schon das beste Vorgehen. Die einfache Variante ist, ein Enumerate per IPConnection.Enumerate() auszulösen und dann ab dann eine fixe Zeit zu warten. Die dynamische Variante ist nach jedem Enumerate Callback eine fixe Zeit darauf zu warten, dass kein weiteres Enumerate Callback mehr kommt. Das funktioniert robuster bei sehr großen Aufbauten.
  7. Bindings: Perl 2.1.23 Fix UID decoding on RED Brick Download: Perl
  8. Bindings: Perl 2.1.23 UID Dekodierung auf RED Brick korrigiert Download: Perl
  9. Nutzt du dann Brick Viewer vom MacBook aus, indem du statt localhost den Hostname oder die IP Adresse des Raspberry Pis in Brick Viewer angibst? Sprich, die Timeouts treten nur dann auf, wenn der RED Brick per USB am MacBook angeschlossen ist? Es könnte also ein USB Problem zwischen MacBook und RED Brick sein. Kannst du hier bitte mal das Brick Daemon Log von deinem MacBook anhängen? Das liegt hier: /var/log/brickd.log
  10. Alle diese Fehler haben die gleiche Ursache: Timeouts. Die Kommunikation zwischen Brick Viewer und RED Brick ist gestört, so dass nicht alle Nachrichten die sich Brick Viewer und RED Brick gegenseitig schicken auch ankommen. Aus deinem ersten Screenshot kann ich sehen, dass der RED Brick per USB an deinem MacBook angeschlossen ist. Daher wundert es mich etwas, dass du da so viele Timeouts hast. Hast du am RED Brick noch andere Bricks angeschlossen, oder ist der RED Brick alleine? Wenn der RED Brick nicht alleine ist, hilft es dann alles außer die USB Verbindung zum MacBook zu entfernen? Hast du schon irgendetwas am RED Brick verändert? Konfiguration umgestellt, Programme hochgeladen, etc.? Oder hast du den RED Brick frisch ausgepackt und angeschlossen? Verwendest du die SD Karte die wir zum RED Brick anbieten, oder verwendest du deine eigene SD Karte? Wenn du deine eigene SD Karte verwendest, dann ist diese vielleicht zu langsam.
  11. Bindings: MQTT 2.0.6, Rust 2.0.10 Fix JSON parsing in Python < 3.6 [MQTT] Fix streaming of fixed length parameters [Rust] Download: MQTT, Rust
  12. 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
  13. Firmware: Outdoor Weather Bricklet 2.0.4 Increase minimum gap between station/sensor messages to filter duplicates Download: Outdoor Weather Bricklet
  14. Firmware: Outdoor Weather Bricklet 2.0.4 Minimaler Abstand zwischen Stations/Sensor-Nachrichten erhöht um Duplikate herauszufiltern Download: Outdoor Weather Bricklet
  15. Passiert das nur einmal, oder passiert das jedes mal?
  16. Firmware: Rotary Poti Bricklet 2.0.3 Don't calculate average over missing values on first tick Download: Rotary Poti Bricklet
  17. 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
  18. 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.
  19. 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.
  20. 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.
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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
×
×
  • Neu erstellen...