remotecontrol Geschrieben March 10, 2013 at 16:19 Geschrieben March 10, 2013 at 16:19 Hallo Admins, ich habe leider immernoch das Problem, dass mein Stack ab und zu hängt (d.h. für mehrere Sekunden nicht reagiert, Client bekommt Timeout), dann wieder reagiert (auf einmal werden sogar die Servo-Befehle nachgeholt obwohl der Client schon disconnected ist und die Servos werden "hektisch") und sehr sporadisch bootet der Stack dann auch von alleine neu ... Darum habe ich Teile des Codes mit "cppcheck" durchforstet. CppCheck wird in der Bricklib fündig: [com/spi/spi_stack/spi_stack_slave.c:166]: (error) Array 'spi_slave_pins[2]' accessed at index 3, which is out of bounds Die Meldung sieht korrekt aus: das Array hat nur 2 Elemente, der Index ist aber 3 => 2 Elemente übers Ziel hinaus. Ich habe nur Master-Brick, Servo-Brick, Ambilight und Quad-Relay damit geprüft und das war die einzige Meldung. Die Funktion wird in diesen Modulen jedoch nicht aufgerufen => vermutlich kein Problem. Nur als Info, vielleicht schaut Ihr Euch das mal an. Ich versuche weiter, mein Problem mit einem Testfall zu reproduzieren Zitieren
borg Geschrieben March 10, 2013 at 17:16 Geschrieben March 10, 2013 at 17:16 Das ist in der Tat ein Überbleibsel aus dem Protokoll V1 Code, kann also gelöscht werden. Probleme kann das nicht machen, die Funktion wird nirgends aufgerufen . Wieviele Nachrichten sendest du denn an den RS485 Client? Vielleicht stauen sich die Nachrichten einfach im Brick Daemon auf? Zitieren
remotecontrol Geschrieben March 10, 2013 at 17:55 Autor Geschrieben March 10, 2013 at 17:55 Die ganze Kommunikation findet nur über die WIFI-Extension statt, das können ca. 50-100 Messages / Sekunde sein. Und der Fehler ist leider sehr sporadisch: ich hab schon mal nach nur 300 Servo-Commands plus weniger Bricklet-Status-Abfragen den Stack zum Absturz gebracht (reboot), dann bekomme ich auch wieder weit über 15.000 Commands durch, ohne Probleme ... Der Effekt ist immernoch ähnlich wie der aus diesem Thread http://www.tinkerunity.org/forum/index.php/topic,1339.msg8469.html#msg8469. Eine andere evtl. nützliche Meldung ist noch das hier: [drivers/usb/USBDDriver.c:550]: (warning) memset() called to fill 0 bytes of 'pInterfaces'. Das dürfte aber auch nichts mit meinem Problem zu tun haben. Ich habe das Gefühlt, dass im WIFI ein noch Overflow bei hoher Last passiert (wegen den Stack-Reboot). Ich werde den Test-Stack über USB anschließen und dann länger so testen. Wenn dann kein Fehler mehr auftritt, könnte das noch mehr in Richtung WIFI deuten. Viel helfen wird diese Erkenntnis für die Fehlerbehebung leider nicht ... Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.