Jump to content

photron

Administrators
  • Gesamte Inhalte

    3.125
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    47

Alle erstellten Inhalte von photron

  1. Das geht mit der "io4.addInterruptListener(new BrickletIO4.InterruptListener() { ... }" Schreibweise nicht. Du kannst das so machen: BrickletIO4.InterruptListener listener = new BrickletIO4.InterruptListener() { public void interrupt(short interruptMask, short valueMask) { try { if (val == 14) { System.out.print("\nSchalter 1"); } if (val == 13) { System.out.print("\nSchalter 2"); } }catch(TinkerforgeException e) { } } }); io4.addInterruptListener(listener); ... io4.removeInterruptListener(listener);
  2. KeyOz, lass mich das mal zusammenfassen. Dein Barometer Bricklet taucht noch im Brick Viewer zeigt aber als Werte 10 mbar, -40 °C und 0 m an. Dabei sind aber die SDA und SCL Leitung zum Barometer IC okay. Hast du dir schon die Bricklet Stecker am Bricklet und am Brick angesehen? Sind da vielleicht Pins krumm und machen einen Kurzschluss? Dann kannst du noch einmal die 3.3V Leitung messen (siehe Anhang). Wenn die auch okay ist kannst du auch noch das Plugin des Bricklets über den Brick Viewer einmal neu zu flashen.
  3. Der Trick bei den PMs ist es im Antwort Dialog den Haken für "Kopie im Ausgang speichern" zu setzen Sorry, wegen 2.0.9 RC1, da hatte ich den Installer geändert und es nicht ordentlich genug getestet. Hier RC3, damit sollte jetzt alles in Ordnung sein. Diese Version ist jetzt auch signiert, so dass der Gate Keeper sie nicht mehr blockiert in der Standardeinstellung. http://download.tinkerforge.com/_stuff/brickd_macos_2_0_9_rc3.dmg Wenn die Version bei dir jetzt auch ordentlich funktioniert, wird das 2.0.9 final.
  4. Wenn dein Barometer Bricklet noch im Brick Viewer auftaucht, dann sind SDA und SCL zwischen Stecker und EEPROM noch intakt. Wenn du 10mbar als Luftdruck angezeigt wird dann kann es an einer defekten I2C Leitung liegen, muss aber nicht unbedingt. Falls du ein Multi-Meter oder einen anderen Durchgangsprüfer zur Hand hast dann kannst du messen ob der I2C Bus noch intakt ist. Ich habe auf dem angehängten Bild aufgemalt wie die I2C Pins des Barometer ICs (weißer Chip) und des EEPROMs (schwarzer Chip) mit dem Stecker verbunden sein müssen, damit es funktioniert. Bei thunderbirds Barometern war jeweils die SDA Leitung zwischen Barometer IC und EEPROM unterbrochen. Wie verwendet du das Bricklet denn? Hast du das wie thunderbird auch draußen im Einsatz, wo es größeren Temperaturschwankungen ausgesetzt ist?
  5. AFAIK you can power the Raspberry Pi via the 5V pins in its extension header. So this would allow this Step-Down Power Supply Shield to power the Raspberry Pi. This would allow to get rid of the cable from the Step-Down Power Supply to the Raspberry Pi. Do you suggest to have an USB hub on this Step-Down Power Supply Shield? One problem with this is that the extension header of the Raspberry Pi does not include USB pins. So you would need an USB cable between the shield and the Raspberry Pi and another USB cable between the shield and the Brick that is stacked on top of the shield, because there are no USB pins in the stack connectors. For just one Brick this doesn't make much sense. You could just connect it directly via USB and power it with this Step-Down Power Supply Shield. To inject 5V from the Step-Down Power Supply Shield into an USB host connector to power a Brick via USB, this would require an USB device connector on the Step-Down Power Supply Shield to connect it to the Raspberry Pi's USB port. If you want to run more than one Brick from this you need extra logic and will end up with a crossbreed of a Step-Down Power Supply and an active USB hub that happens to be powered by the Step-Down Power Supply.
  6. Die SSID ist der Name des WLAN Netzes zu dem sich die WIFI Extension verbinden soll. Der Name unter dem die WIFI Extension dann zu erreichen ist ist der Hostname.
  7. Rufst du auf dem gleichen io4 Objekt mehrfach addInterruptListener() auf? Dann fügst du beim jedem Durchlauf einen weiteren Listener hinzu und dann werden auch mehrere Listener ausgeführt. Wenn das nicht deine Absicht ist, dann solltest du addInterruptListener() nur einmal am Anfang aufrufen. removeInterruptListener(null) ergibt keinen Sinn. Wenn dann musst du dir eine Referenz zum Listner Objekt zwischen speichern: BrickletIO4.InterruptListener listener = new BrickletIO4.InterruptListener() { ... } io4.addInterruptListener(listener); ... io4.removeInterruptListener(listener);
  8. Doch, hier http://www.tinkerforge.com/de/doc/Software/IPConnection_Shell.html#tinkerforge dispatch Wobei auf den Seiten der Bricks und Bricklets ein Link darauf fehlt. Ich werde gleich einen einfügen.
  9. Dann musst du wahrscheinlich einfach nur wieder in den Sicherheitseinstellungen Software aus unbekannten Quellen zulassen, wie in der brickd Installationsanleitung beschrieben. Das wird aber auch in kürze ein Ende haben. Die nächste brickd Version wird höchstwahrschnlich signiert sein und dann hört Mac OS X auf zu meckern.
  10. Die Parameter sind teils positionsabhängig: tinkerforge dispatch --duarion 0 io4-bricklet $io_uid interrupt ...
  11. Funktioniert hier auf Mac OS X 10.8. Hast du vielleicht in der Zwischenzeit auf 10.9 aktualisiert, oder der Gate Keeper ist aus anderen Gründen wieder aktiviert?
  12. Diese Aussage ist alt und nun falsch. Seit Protokoll 2.0 werden Packages mit unbekannter Function ID werden ignoriert, bzw wenn dass Response Expected Flag gesetzt ist, dann wir auch eine Response mit Error Code 2 (FUNCTION_NOT_SUPPORTED) zurück gesendet.
  13. Du muss dafür die valueMask im Listener prüfen. Bei einer steigenden Flanke ist das Bit für den entsprechenden Pin in valueMask gesetzt, bei einer fallenden Flanke nicht.
  14. Hier RC1 für brickd 2.0.9 zum testen: http://download.tinkerforge.com/_stuff/brickd_macos_2_0_9_rc1.dmg
  15. Du kannst natürlich mehrere dispatch Aufrufe per --execute verketten. Ein dispatch Aufruf kann aber jeweils nur auf einen Callback warten. Die Shell Bindings sind in diesem Bezug nicht so mächtig wie die anderen Bindings.
  16. Der dispatch Befehle wartet standardmäßig unendlich lange auf eingehende Callbacks. Die --duration Option kann genutzt werden um das zu ändern. Bei --duration 0 beenden sich der Befehle nach dem ersten behandelten Callback. Bei Werten > 0 wird der Wert als Zeit in Millisekunden interpretiert und für diese Zeit eingehende Callbacks behandelt. Weil --execute nicht in der gleichen Shell ausgeführt wird wie dein Script. Du kann also das Script so nicht aus --execute heraus beenden. Der interrupt callback hat zwei Paramter (interrupt-mask und value-mask) anhand derer du bestimmen kannst welche Pins den Interrupt ausgelöst haben und ob es sich um eine steigende oder fallende Flanke handelt.
  17. Das Problem liegt daran, dass sich libusb an die Dokumentation von Apple hält, statt an Apples Beispielprogramme. Die Zeile um dies es geht ist diese hier: https://github.com/libusbx/libusbx/blob/master/libusb/os/darwin_usb.c#L626 Laut dem Kommentar zu dieser Zeile besagt die Apple Dokumentation, dass ein USB Gerät zuerst geöffnet werden muss, bevor man gewisse Informationen abfragen kann. Ein Beispielprogramm von Apple tut dies aber nicht. Die libusb Entwickler wollten aber auf der sicheren Seite sein und halten sich an die Dokumentation. Der Aufruf von USBDeviceOpenSeize ist aber genau der der deinen USB-Ethernet-Adapter aus dem Tritt bringt. Daher habe ich jetzt eingebaut, dass USBDeviceOpenSeize nur noch für nicht-Apple Geräte aufgerufen wird. Dadurch sollte diese Problem behoben sein und brickd weiterhin normal funktionieren.
  18. Die Callbacks werden von einem Thread der IPConnection aufgerufen. Du darfst aber mit dem GUI nur direkt aus dem Haupt-Thread deines Programms heraus interagieren, sprich was du da tust ist nicht erlaubt. Dass das Programm zufällig in der KiUserCallbackDispatcher Funktion von Windows steht würde ich ehr als zufällig betrachten. Diese Funktion ist eine Funktion des Windows Kernels, sie hat nichts direkt mit den Delphi Bindings zu tun. Um das Problem zu lösen musst du die Interaktion mit dem GUI in den Haupt-Thread verschieben, dazu kannst du z.B. TThread.Synchronize verwenden.
  19. Okay, ich denke wir haben es gefunden v12 sollte das Problem nicht haben und auch wieder normal funktionieren. Die vorherigen Testversionen waren so beschnitten, dass brickd nicht richtig funktionieren konnte.
  20. Okay, damit hat sich mein erster Verdacht nicht bestätigt, also weiter Hier vier neue Versionen zum testen: v8, v9, v10, v11 Ich denke wir sind nah dran.
  21. Bei WEP muss das Passwort die richtige Länge und Form haben. Am besten lässt du dir eins auf der Webseite generieren, die in der Anleitung verlinkt ist. Dann musst du noch darauf achten in welcher Form du das Passwort angeben muss. Bei der WIFI Extension definitiv in hexadezimaler Form und z.B. bei Android auch in hexadezimaler Form. Es kann sein, dass du das bei dir (je nach dem was dein Client ist) in ASCII form angeben musst. AuronX, Im Access Point und Ad Hoc Modus kann die WIFI Extension nur WEP. Nur im Client Modus kann sie auch WPA(2).
  22. Wie hast du denn die WIFI Extension genau eingestellt? Ich habe der Dokumentation mal eine Beispielkonfiguration hinzugefügt (englische Version folgt später). Dann bleibt noch als Frage: Wo taucht die WIFI Extension nicht als Access Point auf?
  23. Hier ist sie. dual-button-bricklet.bin
  24. Meine Annahme war, dass die LEDs nach dem Start aus sind. Ich hätte in den Code schauen sollen. In der Tat werden die LEDs beim Start eingeschaltet. Ich gebe dir Recht, initial aus ist nahe liegender, so ist es jetzt auch abgeändert.
×
×
  • Neu erstellen...