Jump to content

photron

Administrators
  • Gesamte Inhalte

    3.050
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    39

Alle erstellten Inhalte von photron

  1. Funktioniert hier mit echo -n -e "\x01\x28\x04\x00" | nc -q1 localhost 4223 Hast du denn auch Firmware 1.3.5 und versorgst den Brick über USB?
  2. Nein, brickd und Flashen haben nichts mit einander zutun. Abgesehen, davon dass das Flash Script initial einmal über brickd mit dem Brick reden muss um ihn in den Bootloader bringen zu können, wenn das Script vollautomatisch Flashen können soll. Der Ablauf wäre: flash.py verbindet sich mit dem lokalen brickd und ruft auf dem zu flashenden Brick die Funktion zum Wechsel in den Bootloader auf (diese Funktion gibt es im Moment noch nicht). Dann taucht der Brick als Seriel Port auf und flash.py schreibt die neue Firmware in den Flash. Zuletzt löst flash.py ein Reset des Bricks aus und er startet mit der neuen Firmware. Dieses automatische Neustarten nach dem Flashen wird auch schon die nächste brickv Version können.
  3. In der Doku ist es schon, nur haben wir noch keine neune Bindings veröffentlicht. Kommt in kürze, vielleicht heute noch wenn ich noch dazu komme.
  4. Ich habe deinen Aufbau hier nachgestellt, kann das Problem aber nicht reproduzieren. Das Barometer funktioniert hier. Möglicherweise hängt diese Problem mit dem Sprungproblem zusammen und eine Lösung des Sprungproblems löst auch dieses Problem hier.
  5. Okay, jetzt verstehe ich das Problem. Flashen per Kommandozeile ist auf der TODO Liste. Wird dann ein Python Script werden.
  6. Ich kann das beschriebene Problem reproduzieren. Es hängt mit dem Schreiben aufs LCD zusammen. Dei genau Ursache ist noch nicht klar. Ich untersuche das grade noch. Zum ° Zeichen: Das LCD hat einen speziellen Zeichensatz, der auch in der Dokumentation der write_line Funktion verlinkt ist: https://github.com/Tinkerforge/lcd-20x4-bricklet/raw/master/datasheets/standard_charset.pdf Der Zeichensatz beinhaltet ein Katakana Zeichen, das man als ° Zeichen verwenden kann. Wie zwischen Unicode un dem speziellen LCD Zeichensatz abgebildet werden kann kannst du dem Unicode Beispiel entnehmen: http://www.tinkerforge.com/doc/Software/Bricklets/LCD20x4_Bricklet_C.html#unicode
  7. Mit brickd hat das Flashen von Bricks ja nichts zu tun. Du musst nur auf deinem 100km entfernten Rechner brickv starten.
  8. Ja, genau das passiert dann. Der Unterschied bei der WIFI Extension ist, dass diese Callbacks immer an alle verschickt.
  9. Remote FW update??? Bitte. Auch das automatisiertere Flashen wird noch eine USB Verbindung zwischen Brick und Rechner mit brickv brauchen. Aber ja es sieht so aus als könnte man es so bauen, dass man zum Flashen eines Bricks keinen Knopf mehr am Brick selbst drücken müsste.
  10. Reconnect ist für den Fall gedacht, dass die Association der WIFI Extension zum Access Point abreist und die Chance besteht das sie wiederkommt. Dabei tritt dann ein ECONNRESET Fehler (das ist der C Error Code) auf. Daraufhin versucht sich die IP Connection neu zu verbinden. Abgesehen von ein Paar Timeouts ist das für den Benutzer der API transparent. Das da nicht zwischen brickd und WIFI unterschieden wird liegt daran, dass die IP Connection das nicht unterscheiden kann. Das Protokoll ist dahingehend transparent. Dein Problem mit brickd ist, dass Callbacks nicht automatisch an alle ausgeliefert werden, sondern nur an die die es potentiell interesiert. Wer das ist erkennt brickd an den GetStackID Aufrufen. Wenn du brickd jetzt neustartest hat er das vergessen. Die Bricks versenden immer noch Callbacks nur stellt sie brickd nicht mehr zu. http://www.tinkerforge.com/doc/Low_Level_Protocols/TCPIP.html#callbacks Daher ist brickd hier ein schlechter Test für Reconnect. Bei der WIFI Extension passiert das nicht
  11. So ein "Check for Updates" im Brick Viewer ist geplant und da das mittlerweile mehrere Leute gewünscht haben wird das jetzt in Kürze kommen. Einen Brick per Brick Viewer in den Bootlader zu bringen ist wohl möglich, braucht aber neue API. Ist auf der TODO Liste. Was auch geht ist den Brick automatische nach dem Flashen neuzustarten. Das habe ich gerade in den Brick Viewer eingebaut
  12. Barometer Bricklet Plugin 1.1.1 Fix overflow in altitude calculation Download: Plugin
  13. Barometer Bricklet Plugin 1.1.1 Überlauf in der Höhenberechnung korrigiert Download: Plugin
  14. photron

    WLAN-Extension

    Ist eingebaut, wird in der nächsten Release der Python Bindings drin sein.
  15. Sieht so aus. Wenn ich das Log richtig verstehe löst der Aufruf von findViewById die Exception aus: private ToggleButton openclose = (ToggleButton) findViewById(R.id.openclosedoor); Spontan ins Blaue geraten würde ich sagen du solltest den Aufruf in onCreate nach dem Aufruf von setContentView machen.
  16. Die Koordinaten werden in DD°MM.mmmm’ Format ausgegeben, dabei ist DD°MM im ersten Wert des Arrays und mmmm’ im Zweiten. Bei genauerer Betrachtung verwenden wir sonst eigentlich eine andere Darstellung für Floatzahlen. Ich werde das zu einem Wert ändern, der sich dann so zusammensetzt: DDMM * 10000 + mmmm. Den Wert hier wirklich als float zu übergeben ist nicht drin, da floats zusätzlichen Code brauchen und das die Größe des Plugins sprengt.
  17. Bekommst du dazu genauere Informationen? Einen Stacktrace der Exception? Oder wie äußert sich, dass es abstürzt?
  18. http://www.tinkerunity.org/forum/index.php/topic,886.0.html Stimmt, die Plattformübergreifende Lösung dafür wäre ja ein am Brickd simuliertes Gerät ^^ Bzw. ein Simulationskit das nen brickd enthält. Die Light-Variante wäre, dass in Sprachen wie C# und Java erstmal Interfaces für alle Devices erzeugt werden. Dann kann ich meinen Code gegen die Interfaces bauen und beliebige Bricklets durch Mocks austauschen (die dann auch nur das Interface implementieren müssen). Möglicherweise mache ich da demnächst mal nen Pull Request draus Das Problem daran ist dass dafür erstmal jemand die Logik der Bricks und Bricklets nachprogrammieren müsste.
  19. Das GPS Bricklet ist gerade in Arbeit. Nach einem Vorschlag von AuronX möchte ich dessen API hier zur Diskussion stellen. Hier als Beispiel C/C++ und ja die Beschreibung fehlt noch. Falls etwas nicht aus der Signatur ersichtlich ist einfach fragen http://www.tinkerforge.com/doc/Software/Bricklets/GPS_Bricklet_C.html
  20. Du musst nur in bricklet_gps.c diese Zeile typedef void (*coordinates_func_t)(char, uint16_t, char, uint16_t, uint16_t, uint16_t, uint16_t); durch diese ersetzen typedef void (*coordinates_func_t)(char, uint16_t[2], char, uint16_t[2], uint16_t, uint16_t, uint16_t);
  21. Die Timeline sagt KW45 für GPS Bricklet. Im Moment testen wir einen Prototypen.
  22. Problem in bricklet_gps.c ist behoben und ich habe auch herausgefunden warum die Datei mit im ZIP war obwohl sie nicht sollte.
  23. Eigentlich sollten die noch garnicht mit released werden. Tun wir doch, siehe speed und course in GetStatus. Da hast du wohl einen Bug im Generator gefunden. Bisher wurde per Callback noch nie ein Array übergeben, daher ist das bis jetzt nicht aufgefallen. Das GPS Bricklet ist eben noch in Arbeit .
  24. Wir haben uns angestrengt und noch genug Platz freibekommen um in Barometer Bricklet Plugin 1.1.0 eine SetReferenceAirPressure Funktion einzubauen, über die du von außen den Referenzluftdruck für die Höhenberechnung setzen kannst. Die alte Funktionalität von CalibrateAltitude ist als SetReferenceAirPressure(0) weiterhin vorhanden.
×
×
  • Neu erstellen...