Jump to content

photron

Administrators
  • Gesamte Inhalte

    3.184
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    52

Alle erstellten Inhalte von photron

  1. Gilt das auch für eine Lsg. als Website mit PHP-Bindings ? Ja. Ganz grundsätzlich unterstützt die WIFI Extension 15 Sockets. Damit kann sie 15 TCP/IP Verbindungen zu gleichen Zeit bedienen. Ob du dann damit 15 gleichzeitig laufenden C# Programme bedienst, die ihre Verbindungen alle offen halten, oder 15 gleichzeitige Webseitenaufrufe die mit PHP kurz eine Verbindung aufbauen, einen Wert abfragen und dann die Verbindung wieder schließen, spielt da keine Rolle.
  2. Ich gemeint sind gleichzeitig Verbindungen. Das sind 15, siehe Technische Spezifikation. Es können also alle 9 interessierten Personen gleichzeitig das abfragenden Programm laufen haben.
  3. Okay, Ethernet und Chibi können nicht im gleichen Stack verwendet werden, da die beide über SPI angebunden werden. In der Dokumentation stand allerdings, dass das funktionieren würde. Das war falsch und ist jetzt korrigiert, sorry. Was aber funktioniert ist zwischen Ethernet und Chibi Master eine RS485 Strecke zu setzen. Das habe ich gerade getestet.
  4. Funktioniert denn Ethernet alleine, also ohne Chibi?
  5. Bindings: Shell 2.0.0 Initial Version Download: Shell Blog Entry
  6. Bindings: Shell 2.0.0 Initiale Version Download: Shell Blogeintrag
  7. Die Shell Bindings sind nun veröffentlicht.
  8. The shell bindings are now released.
  9. Dann fehlt dir make an sich noch, gut möglich das weder Eclipse noch der Code Sourcery Installer das mitbringen. Das GnuWin32 Projekt beinhaltet eine make Version für Windows, die kannst du hier finden: http://gnuwin32.sourceforge.net/packages/make.htm Am einfachsten nimmst du den "Complete package, except sources" Download. Standardmäßig installiert der make nach "C:\Programme\GnuWin32\bin". Wenn der Installer diesen Ordner nicht schon zum PATH hinzufügt musst du das noch händisch tun. Dann sollte Eclipse make finden. Ich denke dann hast du alle Tools zusammen.
  10. Nein, dass kann nicht richtig sein. cmake und make haben verschiedene Aufgaben. cmake erzeugt das Makefile das make dann verarbeitet. make -C C:/Users/admin/Desktop/eclipse/workspace/master/build all Das würde Sinn ergeben: -C sagt make es soll zuerst mal in das angegebene Verzeichnis wechseln und dort das Target all im dortigen Makefile erfüllen. Mit cmake ergibt das keinen Sinn. Es gibt auch in cmake eine -C Option aber dies erwartet eine Cache-Datei, was das build Verzeichnis aber nicht ist. Auch ist all kein Verzeichnis. Du solltest also erstmal das "Build Command" von cmake auf make zurückstellen. Die sonstigen Fehler sind Folgefehler von diesem Problem.
  11. Hast du im Fahrtenregler + Servo Brick Fall den Motor und den Brick über die gleiche oder über verschiedene Spannungsquellen versorgt?
  12. Der zweite GDB Trace zeigt ein Deadlock. Da war eine Race Condition zwischen der disconnect() Funktion und dem Disconnect Probe Thread die du da getroffen hast. In den angehängten C Bindings ist das Problem behoben und du solltest es mit diesen nicht mehr schaffen können, dass dein Programm beim Beenden hängt. Da es ohne Motor zu funktionieren scheint, muss das Problem des hängenden Stacks ja mit dem Motor direkt oder indirekt zusammenhängen. Dazu fallen mit verschiedenen Dinge ein: 1) Es könnte wie gesagt mit der Stromversorgung zusammenhängen. Der Motor zieht beim Anfahren mit voller Beschleunigung viel mehr Strom also die 80-200mA die du angibst. Dadurch bricht die Versorgungsspannung ein und der Stack verträgt das nicht. Hierzu könntest du testen den Stack und den Motor nicht aus der gleichen Quelle zu versorgen. Dann kann der Motor den Stack nicht mehr über die Stromversorgung beeinflussen. Dabei dann das Voltage/Current an die Versorgung des Motors hängen, damit die Callbacks weiter kommen. Ja, ich weiss ich beharre stark auf diesem Gedanken Eine andere Art von Last (z.B. eine Lampe) ist potentiell auch ein guter Test. 2) Du sagst, dass Problem tritt häufiger wenn du die Beschleunigung auf Maximum stellst. Geht das Problem dann weg, wenn du die Beschleunigung deutlich unter Maximum stellst? 3) Du hast den Motor 20cm vom Stack entfernt liegen. Macht es einen Unterschied wenn du den Motor deutlich weiter weg (1-2m) legst? tinkerforge_c_bindings_2_0_8_74953a5547502075cede11c872b82dad8d10639e.zip
  13. photron

    GPS-Genauigkeit

    Dann hast du auch gesehen, dass die Genauigkeit mit DGPS bei diesem Modul laut Datenblatt bloß von 3,0m auf 2,5m steigt. Was schon etwas komisch ist. Die Firmware, die auf unserem FGPMMOPA6H Modul ist, hat DGPS nicht aktiviert und auf dem Bricklet ist Pin 14 nicht angeschlossen.
  14. Dazu ein paar Fragen: Welche Mac OS Version ist das? Hilft es den Refresh Knopf neben der Auswahlbox für die Schnittstelle zu drücken? Wenn der Brick im Bootloader ist und du ihn per USB ansteckst sollte im /dev Verzeichnis ein neuer Eintrag auftauchen. Der Brick Viewer erwartet, dass dieser Eintrag mit "tty." anfängt. Typischerweise heißt er "tty.usbmodemfd121", wobei sich die Nummer ändern kann. Taucht der Brick bei dir vielleicht unter einem anderen Namen auf, den brickv nicht erwartet?
  15. Brick Daemon 2.0.6 Workaround struct packing bug in MinGW GCC 4.7 Add simple event log viewer tool for Windows Prohibit starting a second instance on Windows Check for USB device additions/removals changes on SIGUSR1 Ignore SIGPIPE and handle socket write errors properly Downloads: Windows, Linux (amd64, i386, armhf), Mac OS X
  16. Brick Daemon 2.0.6 Struct-Packing-Bug in MinGW GCC 4.7 umgangen Einfaches Event-Log-Viewer Tool für Windows hinzugefügt Start einer zweiten Instanz auf Windows wird verhindert Liste der USB Geräte wird bei SIGUSR1 aktualisiert SIGPIPE wird ignoriert und Socket-Schreibfehler werden behandelt Downloads: Windows, Linux (amd64, i386, armhf), Mac OS X
  17. 1a) Diese Burst-Verhalten hört sich ja schon nach WIFI Problem an. Hast du dir die WIFI Kommunikation mal in Wireshark angesehen, um zu sehen ob die per WIFI auch so eingehen und nicht irgendwie in den C Bindings verlangsamt wird, wobei ich gerade nicht wüsste wie das passieren sollte, aber wer weiss. 2a) Hast du mal ohne Motor dran getestet? Hast du mal eine andere Stromversorgung ausprobiert? Vielleicht packt dein Akku den Anfahrtsstrom des Motors nicht und die Spannung bricht dadurch so sehr ein, dass das den Stack beeinflusst. 3) Ich meinte, dass dein Steuerprogramm dauerhaft in dc_enable() hängt. Das sollte nicht passieren, falls dem so ist sieht das nach einem Bug aus. Selbst wenn der Stack nicht reagiert sollten Getter und Setter mit Response Expected nach 2,5sec (oder auf was du den Timeout gestellt hast) returnen. Setter ohne Response Expected sollte direkt returnen. Daher meine Frage nach einem Backtrace aller Threads in diesem Fall, da es in dem einen Backtrace zu dem Problem so aussieht als würde da jemand dauerhaft auf dem socket_mutex hocken, was nicht sein darf.
  18. Bindings: Java 2.0.9 Avoid ConcurrentModificationException in listener handling by using CopyOnWriteArrayList Download: Java
  19. Bindings: Java 2.0.9 CopyOnWriteArrayList zur Vermeidung von ConcurrentModificationExceptions in der Listener-Behandlung verwendet Download: Java
  20. Ich versuche mal den aktuellen Status zusammenzufassen und noch einige Fragen zu stellen: 1) Du rufst dc_set_velocity() im position Callback des Rotary Potis auf um mit dem Poti die Geschwindigkeit des Motors zu steuern. Wenn du am Poti drehst kommt es vor, dass die IP Connection "hängt" und keine Callbacks mehr ausliefert. Dazu zwei Fragen: 1a) Wie erkennst du das keine Callbacks mehr ausgeliefert werden? Du drehst am Poti, die Motorgeschwindigkeit bleibt aber unverändert? Und du siehst auch die Ausgabe vom printf im position Callback nicht? 1b) Tritt das nur auf wenn du am Poti drehst, oder passiert das auch wenn der Motor nur unverändert vor sich hin läuft? 2) Das Problem tritt häufiger auf wenn der Motor schneller dreht. Dazu auch eine Frage: 2a) Kann das ein EMV Problem sein und der Motor stört den Stack? 3) Was ist mit dem dc_disable() nach dem Enter-Drücken, hängt der immer noch? 4) Der Segfault in deinem Testprogramm war eine Problem mit der Initialisierung im Programm und kein Problem in den Bindings selbst.
  21. Wir haben es aufgegeben zeitliche Angaben zu machen wann neue Produkte herauskommen werden. Es hat sich heraus gestellt, dass wir aus verschiedensten Gründe die gesetzten Termine doch immer wieder verschieben mussten. Die verschiedenen neuen Bricklets sind gerade in der Phase der Konzept- und Prototyp-Entwicklung. Sie werden dann in absehbarer Zeit nach und nach veröffentlicht werden. Habt also etwas Geduld mit uns
  22. Der TEA6420 sieht gut aus. Laut Datenblatt kannst du damit 5 Stereo Eingänge nach belieben auf 4 Stereo Ausgänge verteilen. Gesteuert wird der über I2C, dass heißt du brauchst noch einen Mikrocontroller zum Steuern da dran.
  23. Sind das Anpassungen speziell für dein Projekt, oder sind das Anpassungen für Solaris? Bei letzterem wäre ich daran interessiert diese ins offizielle git zu übernehmen Es war einiges...ich muss mal schauen ob ich den Mitschnitt vom compile noch finde...grob gesagt brauchte man dbus und openusb (da es libusb nicht gibt). Das hört sich nach Arbeit an. Ich nehme mal an das dbus für Hotplug ist. Wie gesagt wäre ich daran interessiert das in die offizielle brickd Codebase aufzunehmen, wenn da nichts dagegen spricht. Da müsste man dann hingehen und wie schon für Hotplug und andere Dinge auch für USB noch einen Abstraktions-Layer einziehen und dann mit libusb und openusb implementieren.
  24. Um auch was zum Topic zu sagen: Hauptsächlich Ubuntu. Zusätzlich ein Windows im Dual-Boot zum Spielen. Zu Linux bin ich vor Jahren im Zuge von Open Source Software-Entwicklung gekommen. Es programmiert sich einfach leichter/schöner/einfacher/etc unter Linux. Auch macht einem ordentliches Package Management das leben leichter Für Cross-Platform Entwicklung dann noch Windows in VM unter Ubuntu.
  25. Sind das Anpassungen speziell für dein Projekt, oder sind das Anpassungen für Solaris? Bei letzterem wäre ich daran interessiert diese ins offizielle git zu übernehmen
×
×
  • Neu erstellen...