Jump to content

photron

Administrators
  • Gesamte Inhalte

    3.125
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    47

Alle erstellten Inhalte von photron

  1. This should just work. I tested it and it does. The only reason I can think of, is that you're using the wrong UID. Can you show a screenshot of the Brick Viewer Setup tab showing your IMU brick 2.0?
  2. That's strange! This error makes no sense for function ID 8. Can you show your C# code?
  3. steppery.SetSteps(distanceyaway) kann nicht darauf warten, dass die Schritte auch wirklich ausgeführt wurden, dass muss du selbst tun. Ein einfache Methode ist nach den SetSteps Aufrufen mit Thread.Sleep (benötigt Imports System.Threading) einfach etwas zu warten, bis die Schritte ausgeführt wurden.
  4. Did you try what I explained in your German version of this thread?
  5. Whats the error message of the NotSupportedException? Are you using the IMU (1.0) examples with a IMU 2.0 or vice versa?
  6. Ich kann diese Fehlermeldungen nicht nachstellen. Ich tue folgendes: In Visual Studio 2015 ein neues Visual Basic Projekt anlegen über Neu -> Projekt -> Visual Basic -> Windows -> Klassischer Desktop -> Konsolenanwendung. Dann nehme ich deinen Visual Basic Code und ersetzte damit den Inhalt der Module1.vb Datei die Visual Studio erzeugt hat. Dann füge ich die Tinkerforge.dll auf dem VB.NET Bindings ZIP als Verweis hinzu. Fertig. Das hat zwar andere Fehler, weil du im Code noch einige Tippfehler drin hast, aber ich bekomme keine Fehler über IPConnection oder BrickStepper.
  7. photron

    Kein GPS-Fix

    Wird im Brick Viewer unten auf dem GPS Bricklet Tab bei "Time" Datum und Uhrzeit angezeigt, oder steht da "Unknown"? Blink die blaue LED auf dem GPS Bricklet? Teste mal ein anderes Bricklet Kabel. Teste mal einen anderen Bricklet Port am Brick. Sind in der Buchse am Bricklet oder dem Brick Pins krumm?
  8. Sorry, das mit dem $ifend war mir nicht bekannt: http://docwiki.embarcadero.com/RADStudio/Berlin/de/IFEND-Direktive_(Delphi) Der C1091 Fehler ist ein Compiler Bug: http://qc.embarcadero.com/wc/qcmain.aspx?d=9411 Range Check kann wieder angeschaltet werden. Hier eine verbesserte Version. Die sollte alle Probleme beheben, die in diesem Thread genannt wurden. tinkerforge_delphi_bindings_2_1_13_rc1.zip
  9. Das liegt daran, dass dual_button_register_callback() returned lange bevor du den Knopf wirklich drückst. dual_button_register_callback() legt nur fest welche Funktion aufgerufen werden soll, wenn ein bestimmter Callback auftritt. dual_button_register_callback() wartet nicht darauf, dass der Callback auftritt und deine Funktion aufgerufen wird. Die main() Funktion wartet in der getchar() Funktion während cb_state_changed() Aufgerufen wird. Du kannst getchar() durch ein while (true) Schleife ersetzen und dort regelmäßig alle 10 Millisekunden deine knopf Variable prüfen. while (true) { if (knopf == 1) { ... } if (knopf == 2) { ... } usleep(10000); // Warte 10 Millisekunden } Für usleep muss du noch unistd.h includen. Falls du auf Windows bist, musst du usleep(10000); durch Sleep(10); ersetzen und windows.h includen.
  10. Du kannst das über einen globale Variable machen. Du kannst aber auch den User Data Pointer der Callbacks nutzen: #include <stdio.h> #include "ip_connection.h" #include "bricklet_dual_button.h" #define HOST "localhost" #define PORT 4223 #define UID "XYZ" // Change XYZ to the UID of your Dual Button Bricklet // Callback function for state changed callback void cb_state_changed(uint8_t button_l, uint8_t button_r, uint8_t led_l, uint8_t led_r, void *user_data) { (void)led_l; // avoid unused parameter warning (void)led_r; // avoid unused parameter warning // EDIT: Pointer auf lokale Variable in main() aus User Data Pointer casten int *knopf = (int *)user_data; if(button_l == DUAL_BUTTON_BUTTON_STATE_PRESSED) { printf("Left button pressed\n"); // EDIT: 1 an lokale Variable in main() zuweisen, dazu Pointer dereferenzineren *knopf = 1; } else { printf("Left button released\n"); // EDIT: 0 an lokale Variable in main() zuweisen, dazu Pointer dereferenzineren *knopf = 0; } if(button_r == DUAL_BUTTON_BUTTON_STATE_PRESSED) { printf("Right button pressed\n"); } else { printf("Right button released\n"); } printf("\n"); } int main(void) { // Create IP connection IPConnection ipcon; ipcon_create(&ipcon); // Create device object DualButton db; dual_button_create(&db, UID, &ipcon); // Connect to brickd if(ipcon_connect(&ipcon, HOST, PORT) < 0) { fprintf(stderr, "Could not connect\n"); return 1; } // Don't use device before ipcon is connected // EDIT: lokale Variable anlegen int knopf = 0; // Register state changed callback to function cb_state_changed dual_button_register_callback(&db, DUAL_BUTTON_CALLBACK_STATE_CHANGED, (void *)cb_state_changed, // EDIT: Pointer auf lokale Variable als User Data Pointer an den Callback geben (void *)&knopf); printf("Press key to exit\n"); getchar(); dual_button_destroy(&db); ipcon_destroy(&ipcon); // Calls ipcon_disconnect internally return 0; }
  11. Das ist schon eingeplant. Eine einfache Methode das Problem bis dahin zu verhindern, ist den grünen Stecker einfach in der Buchse stecken zu lassen.
  12. In der vorherigen Version der Bindings konnte folgender Fehler beim Connect auftreten: "This protocol version is not supported exception" Dies ist in dieser Version jetzt behoben. tinkerforge_csharp_bindings_2_1_11_fix2.zip
  13. Ja.
  14. Hast du die Akkus an der Step-Down Power Supply am grünen 5V Ausgang, oder am schwarzen 6-27V Eingang angeschlossen? Von deiner Beschreibung her hast du die Akkus am 5V Ausgang angeschlossen und damit 8V auf die 5V Leitung gegeben. Das vertragen die Bricks nicht.
  15. Now I see what you needed those MQTT additions for Very nice!
  16. Mir ist absolute schleierhaft, wie es ein kann, dass du das 1.8er Image auf die Karte schreibst und der RED Brick nach dem Neustart immer noch 1.6 anzeigt. Aber gut das das Problem jetzt erstmal aus der Welt ist
  17. Das siehst du falsch. Du musst für NeoPixel das Channel Mapping auf GRB stellen, denke ich.
  18. Ich habe den Update Hinweis eingebaut.
  19. Wenn du das richtige Laufwerk auswählst und das Schreiben klappt, dann bleibt eigentlich fast nur, dass du wirklich ein 1.6er Image drauf schreibst, statt dem 1.8er Image. Vergiss das mit dd, das ist nicht zielführend. Und rm -rf formatiert die Karte auch nicht, das löscht nur alle löschbaren Dateien. Hast du gerade die SD Karte in einem Zustand von dem der RED Brick richtig bootet? Und Brick Viewer zeigt ihn als 1.6 an? Dann teste mal folgendes: - Auf dem RED Brick "touch /home/tf/foobar". Das legt im Home Verzeichnis eine Datei namens foobar an. Die dient als Marker. - Entsprechend der Dokumentation das Image neu auf die SD Karte schreiben. Wenn jetzt die /home/tf/foobar Datei nicht mehr da ist, dann hat das Schreiben geklappt. Wenn sie noch da ist, dann hat das Schreiben nicht geklappt. Wenn das Schreiben geklappt hat und Brick Viewer immer noch 1.6 anzeigt, dann hast du das falsche Image drauf geschrieben.
  20. Du hast auf deinem Master Brick noch eine Protokoll 1 Firmware. Die wird nicht mehr unterstütz. Du kannst die Firmware aber selber auf die aktuelle Protokoll 2 Firmware updaten. Dann funktioniert der Master Brick wieder. Siehe: http://www.tinkerforge.com/de/doc/Software/Brickv.html#mit-brick-viewer Mit der aktuellen Firmware brauchst du dann ab Windows 8 auch keine extra Treiber mehr für die Bricks.
  21. Du wählst aber im Win32DiskImager auch das richtige Laufwerk aus? Nicht dass du das Image die ganze Zeit auf das falsche Laufwerk schreibst.
  22. Bindings: C/C++ 2.1.12, C# 2.1.11, Delphi/Lazarus 2.1.12, Java 2.1.10, JavaScript 2.0.10, LabVIEW 2.1.10, Mathematica 2.1.10, MATLAB/Octave 2.0.10, Perl 2.1.10, PHP 2.1.10, Python 2.1.10, Ruby 2.1.10, Shell 2.1.10, Visual Basic .NET 2.1.10 Add support for RGBW LEDs, channel mapping and SK6812RGBW (NeoPixel RGBW), LPD8806 and ADA102 (DotStar) chip types to LED Strip Bricklet API [all] Add support for Universal Windows Platform (UWP), see the Visual Studio 2015 project file source/Tinkerforge/TinkerforgeUWP.csproj [C#] Download: C/C++, C#, Delphi/Lazarus, Java, JavaScript, LabVIEW, Mathematica, MATLAB/Octave, Perl, PHP, Python, Ruby, Shell, Visual Basic .NET
  23. Bindings: C/C++ 2.1.12, C# 2.1.11, Delphi/Lazarus 2.1.12, Java 2.1.10, JavaScript 2.0.10, LabVIEW 2.1.10, Mathematica 2.1.10, MATLAB/Octave 2.0.10, Perl 2.1.10, PHP 2.1.10, Python 2.1.10, Ruby 2.1.10, Shell 2.1.10, Visual Basic .NET 2.1.10 Support für RGBW LEDs, Channel Mapping und SK6812RGBW (NeoPixel RGBW), LPD8806 und ADA102 (DotStar) Chip Types zur LED Strip Bricklet API hinzugefügt [alle] Support für Universal Windows Platform (UWP) hinzugefügt, siehe Visual Studio 2015 Projekt Datei source/Tinkerforge/TinkerforgeUWP.csproj [C#] Download: C/C++, C#, Delphi/Lazarus, Java, JavaScript, LabVIEW, Mathematica, MATLAB/Octave, Perl, PHP, Python, Ruby, Shell, Visual Basic .NET
  24. Du musst das Image nur auf die Speicherkarte schreiben, das ist alles. Wenn danach der RED Brick immer noch als 1.6 im Brick Viewer angezeigt wird, du aber 1.8 auf die Karte geschrieben hast, dann hat das Schreiben aus irgendwelchen Gründen nicht geklappt.
  25. Plugin: LED Strip Bricklet 2.0.6 Fix green flash after reset Add support for RGBW LEDs, channel mapping and SK6812RGBW (NeoPixel RGBW), LPD8806 and ADA102 (DotStar) chip types Make FrameRendered callback configurable Download: LED Strip Bricklet Note: This plugin is affected by the flash transfer bug, that was fixed in the current Brick firmwares. Therefore, this plugin should only be used with an up-to-date Brick firmware.
×
×
  • Neu erstellen...