Jump to content

borg

Administrators
  • Gesamte Inhalte

    3.592
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    58

Alle erstellten Inhalte von borg

  1. borg

    Mein IMU-Brick rotiert

    Funktioniert es denn wenn du es einfach einzeln per USB anschließt (ohne die Motoren in der nähe zu haben,wie M4ST3R schon sagt) und es dir am Brick Viewer anguckst?
  2. Das LCD selber kaufen wir zu. da gibt es so Standardgrößen, die können wir nicht beeinflussen. Solche LCDs gibt es ja z.B. auch bei Reichelt: http://www.reichelt.de/Hintergrund-blau/LCD-204B-BL/3/index.html?;ACTION=3;LA=2;ARTICLE=53952;GROUPID=3006;artnr=LCD+204B+BL;SID=10T3tYQH8AAAIAAEB3MR8e821ed4e6254421970b9fd7baa3c1280 Das könntest du ohne Probleme mit unserem austauschen obwohl es von einer anderen Firma ist.
  3. Huch. Fangen wir mal mit dem ersten Problem an: Wenn du den Joystick an die IMU ansteckst und dann die IMU einfach per USB, macht das schon Probleme? Wenn ja, machen andere analoge Bricklets auch Probleme (z.B. Ambient Light)? Bzgl. des Servo Bricks: Wenn du den Joystick wegnimmst geht der Servo? Edit: Wenn du eine Step-Down Power Supply da hast, kannst du mal Probieren den Stack damit zu versorgen? Vielleicht gibt der USB Port den du benutzt nicht genug Strom.
  4. Die IMU sollte mit 9mm Abstandshaltern kommen, genauso wie der Master. Damit sollte das eigentlich passen.
  5. arm-none-eabi ist genau richtig!
  6. borg

    Roadmap

    So, ich hab mal eine kleine Timeline in die Dokumentation gepackt: http://www.tinkerforge.com/doc/Timeline.html Die Idee ist das wir dort oft etwas ändern, Sachen verschieben wenn wir Lieferzeitpunkte haben, Features austauschen wenn wir Probleme mit Prototypen haben etc. D.h. die Timeline beinhaltet keine festen Termine auf die man sich verlassen sollte, sondern gibt einen Überblick über die grobe Planung die wir haben und ist ständig im Fluss!
  7. Wenn ich aus dem mittleren && ein || mache bekommst du aber die in den Ecken zusätzlich! Edit: Wo ich AuronX recht gebe: Wenn wir 'i' so festhalten wie es ist, sollte das 'o' eigentlich "not 'i'" sein und damit so wie AuronX sagt. Das bezieht sich nur auf den Joystick, da wir sonst nirgends diese Threshold-Geschichte für zwei Werte haben, d.h. das kann ich gerade ändern. Edit: Ich hab aus dem mittleren && erstmal ein || gemacht, einfach weil es logischer so ist (1.1.3): http://download.tinkerforge.com/firmwares/bricklets/joystick/
  8. Ich bin absolut verwirrt Also die Stelle in der Firmware sieht folgendermaßen aus: if(((BC->threshold_option[i] == 'o') && ((value1 < BC->threshold_min1[i]) || (value1 > BC->threshold_max1[i])) && ((value2 < BC->threshold_min2[i]) || (value2 > BC->threshold_max2[i]))) || ((BC->threshold_option[i] == 'i') && ((value1 > BC->threshold_min1[i]) && (value1 < BC->threshold_max1[i])) && ((value2 > BC->threshold_min2[i]) && (value2 < BC->threshold_max2[i])))) { Du möchtest das der callback auch getriggert wird wenn nur der threshold nur für X oder Y eingehalten wird? Kannst du mal ein Paar Beispielwerte geben die Callbacks verursachen sollen, es aber nicht tun (oder umgekehrt)?
  9. Oh. Der Link den es hier gibt hat mal direkt zur Download Seite geführt: http://www.tinkerforge.com/doc/Software/Firmwares_And_Plugins.html#build-a-brick-firmware Aber sieht so aus als müsste man sich da neuerdings erst einen Account machen . Geht folgender Link bei dir: https://sourcery.mentor.com/GNUToolchain/release2032 ? Oder geht der bei mir nur weil ich einen Account hab? Edit: Und bzgl. der 400€: Der CodeSourcery GCC und alle Tools drum herum sind GPL und müssen entsprechend immer Open Source und kostenlos bleiben! Was du bei CodeSourcery kaufen kannst ist eine GUI dafür, im Prinzip. Es gibt Leute die die CodeSourcery Toolchain mit Visual Studio nutzen: http://www.tinkerforge.com/doc/Software/Firmwares_And_Plugins.html#build-a-brick-firmware Ich weiß aber nicht wieviel Gefummel das ist. Ich benutze hier unter Linux Eclipse + CDT + Eclim (CDT für C Unterstützung und Eclim erlaubt mir Vim Tastenkombinationen zu nutzen in Eclipse).
  10. Kann Objective C irgendwie feststellen dass der Callback aus einem anderen Thread heraus aufgerufen wird? Z.b. in Qt sind GUI Elemente nicht thread-safe und eine Änderung aus einem Callback heraus könnte sogar zu einem Segfault führen. Allerdings kann das in dem Fall der Compiler natürlich nicht erkennen!
  11. Dafür gibt es im Moment keine Möglichkeit. Gibt es Sensoren die PH Werte auslesen und Analogwerte ausgeben? Dafür könntest du dann das Analog In Bricklet nehmen!
  12. borg

    IMU und Kalibrierung

    Es sollten gestern Abend eine ganze Menge Versandemails rausgegangen sein . Das Video lade ich gerade hoch, dauert ein wenig. Edit: Video ist da:
  13. Oh ja, da sollten wir etwas zu schreiben. Bei der IO4 nutzen wir ja direkt Pinne vom Microcontroller, das Datenblatt sagt dazu: Das bezieht sich jetzt auf _alle_ 100 Pinne vom Microcontroller. D.h. grob gesagt: Es steht sehr wenig Strom zur Verfügung . Ist jetzt nicht ganz einfach da einen konkreten Wert anzugeben, ist ja schließlich auch abhängig davon wieviele Bricklets angeschlossen sind etc.
  14. We can't do this in general because the WIFI Extension won't be able to do this efficiently (utilizing two sockets). It would be possible to make this behavior configurable for brickd, i suppose.
  15. Der Name Stack ID ist nicht besonders gut gewählt. Die Stack ID beschreibt eine eindeutige 8bit Zahl mit der man nachdem das System intern enummeriert wurde Bricks und Bricklets ansprechen kann (siehe TCP/IP-Protokoll Beschreibung). Ein besserer Name wäre vermutlich "System ID" oder "System Participant ID"
  16. # Ist die StackID. Es ist nur über die UID möglich herauszufinden um welches Bricklet es sich handelt.
  17. Für hotplug fehlt dir python-gudev. Ich kann auf die schnelle kein Arch Linux Paket dafür finden, vielleicht kriegst du es aus dem Source zum laufen: https://github.com/nzjrs/python-gudev
  18. @Nitram: Diese WLAN Module mit integriertem IP Stack sind ja eigentlich gerade für industrielle zwecke gedacht: und gerade in diesem Umfeld (Maschinen über Ethernet steuern etc) ist IPv6 leider so gut wie gar nicht verbreitet. Deswegen gibt es da auch noch keine Unterstützung. Dazu sollte man auch noch anmerken dass der Hersteller des Moduls (Roving Networks) dem RN-171 jederzeit IPv6 per Softwareupdate beibringen kann. Der IP Stack auf dem Modul ist ja ganz normal in Software auf einem ARM7 implementiert und Updates dafür gibt es alle paar Wochen. Bevor IPv4 anfängt nicht mehr nutzbar zu sein weil alle umgestiegen sind gibt es da sicherlich ein Firmware Update .
  19. Es sollte an der Stelle eine Tinkerforge.TimeoutException geworfen werden. Wenn die da nicht kommt ist das definitiv ein Bug! Gucken ich mir morgen mal an!
  20. Das ist die StackID, ja. Und ich gebe dir recht, sollte vermutlich auch so heißen . Wir fummeln sowieso gerade am Brick Viewer rum, ich ändere das entsprechend.
  21. borg

    ServoBrick PWM

    Hab ich mir kurz angeguckt, das ist möglich, ist aber nicht so einfach. Einige Servo Pinne werden per PWM Hardwareeinheit und einige per Timer Counter Hardwareeinheit gesteuert (der Mikroprozessor hat keine 7 PWM Pinne). Wenn ich das richtig sehe ist der kleinste gemeinsame Nenner bzgl der Periode von TC und PWM ein Minimum von 125us als Periode. Ich hab als ich das programmiert hatte nicht damit gerechnet das jemand eine Periode von weniger als 2ms braucht (das wäre für Servos sehr ungewöhnlich). Ich nehme an du willst das PWM für etwas anderes nutzen? Hab ich auch schnell getestet, 100% Duty Cycle funktioniert.
  22. naja, die Schleife bleibt solange stehen bis du oben bei callbacks das set() aufrufst, das ist ja Sinn der Sache .
  23. Ich vermute das ist irgendwie eine Art Scheduler Problem oder so, du spammst brickd ja regelrecht zu mit den settern. mach mal: from threading import Event cb_event = Event() # Im callback unten: cb_event.set() # In der while Schleife: cb_event.clear() cb_event.wait() Alternativ einfach erstmal ein time.sleep(0.1) oder so in die while Schleife, damit du nicht ununterbrochen Nachrichten sendest (bei dieser Möglichkeit hast du dann natürlich eine Latenz von maximal 100ms).
  24. Mh, am besten du probierst einmal das Analog In Bricklet neu zu flashen. Dazu den Master Brick ohne das angeschlossene Analog In Bricklet starten, dann das Analog In Bricklet anschließen und dann über Advanced Functions im Brick Viewer neu flashen.
  25. Das wird nicht funktionieren, die Latenzen über Funk (ganz egal ob Chibi oder WLAN oder sonstwas) sind einfach zu groß um einen Quadrocopter in der Luft zu halten! Was du brauchst ist ein kleines embedded Board auf dem Copter (Raspberry Pi, Beagle Board o.ä.) der sorgt dafür das die IMU auf der X und Y Achse bei 0 Grad bleiben und dann steckst du einen USB WLAN Stick in das embedded Board und steuerst vom PC aus die eigentliche Bewegung! Edit: Ansonsten sieht das gut aus, IMU um den Copter gerade zu halten und Servo zum steuern der brushless Motoren über einen ESC. Einen Höhenmesser haben wir im Moment noch nicht im Programm leider. Da lässt sich aber vermutlich einer finden der einen Analogen Wert ausgibt den du mit dem Analog In Bricklet auslesen kannst. Edit2: Ein Quadrocopter war eines der Projekte was wir auch anfangs im Kopf hatten wir mit unserem Kram baubar seien sollte. Wenn du sowas wirklich baust würden wir uns definitiv über Videos/Bilder freuen .
×
×
  • Neu erstellen...