Jump to content

AuronX

Members
  • Content Count

    884
  • Joined

  • Last visited

Everything posted by AuronX

  1. Hallo, habe gerade in der C#-Doku entdeckt, dass es noch immer die Hinweise gibt, dass Parameter seit Version 1.1 zugerückgegeben werden statt als out rauskommen. Ich denke mal, dieser Hinweis ist inzwischen obsolete, weil eh API 2.x aktuell ist (und bei allen neuen Bricklets gab es auch nie die out-Variante ^^) Viele Grüße
  2. Ich habe tatsächlich nciht wirklich viel Ahnung von Treiberentwicklung, aber folgendes scheint für Windows genau das richtige zu sein: https://code.google.com/p/vmulti/ Wenn ich es richtig verstehe ist es ein HID-Treiber, mit dem du alle Geräteklassen emulieren kannst. Der Ordner test (im Quellcode) scheint dann diesen Treiber anzusprechen, um irgendwelche Pseudo-Inputs zu senden. An dieser Stelle müsstest du also deine TF-Interaktion einbinden können. Oder ein C-Interface schaffen und dann aus einer cooleren Sprache darauf zugreifen. Aber wie gesagt, ich habs auch nur überflogen. Unt
  3. Das sieht wirklich stark aus... Ich hoffe am Ende funktioniert alles auch gut ^^
  4. Oh cool, ich wusste nicht, dass es auch ein WinForms-Beispiel in der Doku gibt. Vielen Dank Nic Das muss ich mir merken ^^
  5. Ich gehe gleich schlafen, aber ich versuche in Kürze die wichtigsten Links zu sammeln. Im wesentlichen sieht es wie das obere Beispiel hier aus: http://www.tinkerforge.com/de/doc/Software/IPConnection_CSharp.html#ipcon-csharp ipcon.EnumerateCallback += EnumerateCB; ipcon.Enumerate(); Dieser Teil kann irgendwo rein wo es dir bequem ist, ich würde zum Beispiel das FormLoad-Event empfehlen. Im Callback (hier EnumerateCB) musst du beachten, dass dieser in einem neuen Thread läuft, du kannst also nicht ohne weiteres die GUI verändern. Dazu musst du Code Invoken, etwa so: Invoke(new
  6. Die C# Bindings laufen auch unter Mono, sie werden von TF sogar unter Mono kompiliert.
  7. Plus (wichtiger Hinweis): Wenn du eh schon normalen Webspace bei STRATO hast, dann gibt es auch dort einen DynDNS-Service falls du deine Domain auch über Strato beziehst... Insofern ist das schon "inklusive" ^^
  8. https://de.wikipedia.org/wiki/W3C_Geolocation_API (siehe auch die Referenzen) Ich habe das selsbt noch nie benutzt, aber auf jeden Fall wird es von allen Android-Handys unterstützt.
  9. Zunächst das einfachere Problem: [code]Hallo Welt[/code] wird zu: Hallo Welt Welche Pakete bei Strato installiert sind kannst du bei Strato nachschauen... ich habe das schonmal gemacht, aber natürlich vergessen wo das ist. Vielleicht kann man auch einfach phpinfo() aufrufen...
  10. Ich hätte gehofft die Reihenfolge in deinem Stapel ist falsch, aber wenn sie so ist wie du geschrieben hast sollte das schonmal stimmen. Standardvorgehen ist es jetzt glaube ich noch, die Firmware auf allen Bricks zu aktualisieren (dazu jeweils einzeln ans USB anschließen). Danach bin ich dann auch ratlos ^^
  11. Nimmst du jeweils die nächstgelegene Station als Quelle? Oder mittelst du über alle deine Stationen? (In welchem Abstand voneiinander stehen die eigentlich?...)
  12. Zu Frage 3: Hier ist meine persönliche Meinung, dass Einheiten nicht auf allen Sprachen implementiert werden sollten, weil sie nicht überall Sinn machen. Ich würde sie nur in den Sprachen unterstützen, die es leicht machen sie auch bequem zu benutzen. Damit verzichtet man natürlich auf Einheitlichkeit zwischen den Bindings, aber ich habe die Befürchtung, dass diese Einheitlichkeit mehr kostet, als dass sie etwas nützt. Zu Frage 4: Für mich ja! Frage 2 muss Je nach Einheit diskutiert werden und bei Frage 1 würde ich auch lieber Feedback abwarten bevor ich mich äußere
  13. Ich versuche mal die Diskussion über API-Änderungen zu strukturieren, indem ich für dieses Thema einen eigenen Thread eröffne. Idee Die Tinkerforge-API sollte Einheiten nativ unterstützen, um so die Arbeit zu erleichtern und die Selbstdokumentation des Codes zu verbessern. Beispiel (dient nur dazu die Idee zu verdeutlichen, kann vom Endergebnis abweichen) Distance distance = myBricklet.GetDistance(); if(distance > 20.Millimeters() && distance <= 2.Meters()) { Console.WriteLine("Die Distanz beträgt {0} Zentimeter", distance.InCentimeters); } Überlegungen Um soetw
  14. Soetwas habe ich tatsächlich bisher nur in einer eigenen Bibliothek implementiert. Wäre natürlich eine coole Idee sowas direkt in den Bindings zu haben... Distance dist = myBricklet.GetDistance(); if(dist > 20.Millimeters() && dist <= 2.Meters()) { //do something awesome } Ich denke da mal drüber nach... Aber bevor man sowas überall einbaut gibt es glaube ich verschiedene Einzelpunkte, über die man mit vielen Leuten sprechen möchte Ich versuche mal eine Liste zu machen ^^
  15. Oh nic das tue ich Du hast mich gerade darauf gebracht, dass mein oben verlinktes Diff sogar einen Pull Request hat Habe den direkt mal aktualisiert ^^ https://github.com/Tinkerforge/generators/pull/37
  16. Ja klar, abgesehen davon, dass es jeder selbst machen muss. Grundsätzlich gestehe ich ja auch ein, dass es Dinge gibt die nicht in die Bindings gehören. Aber von mir oben genannte Punkte sind alle sehr einfach generierbar und ich halte es für eine Altlast, dass sie so sind wie sie sind. edit: Gerade habe ich noch borgs Kommentar im anderen Thread gelesen. Den Teil mit dem "wenig Code aufzwingen" verstehe ich quasi schon. Allerdings sehe ich auch, dass Abweichungen von Sprachkonventionen einem Entwickler dort ebenfalls "Schmerzen" verursachen. Ich habe mich inzwischen damit abgefunden,
  17. Dokumentiert ist es schon (irgendwo). Die Frage ist, ob es gut auffindbar ist (Doku-Problem) und ob es nicht bereits besser benutzbare Sprachkonstrukte gibt, um solche Dinge darzustellen (z.B. enums).
  18. Allgemein Wenn du nur für dich die Bindings verbessern möchtest (wäre legitim), dann kannst du alles tun was du willst. Bedenke jedoch, dass Verbesserungen für alle (aka. TF übernimmt diese Änderungen) bestimmten Einschränkungen unterliegen: [*]Die Bindings werden automatisch generiert (aus Informationen die für alle Sprachen genutzt werden [*]Die Methoden eines Brick/Bricklet sind 1:1 Abbildungen dessen was die Hardware bietet, manche Abstraktion bleibt dabei auf der Strecke [*]TF versucht bei allen Änderungen Abwärtskompatibilität beizubehalten Die Abwärtskompatibilität wird na
  19. Ich würde mich sehr über etwas konstruktivere Kritik freuen. Also der Teil mit "Kritik" war schon da, jetzt noch der Teil mit "konstruktiv"... Wo war die Doku schlecht? (das war bisher nie ein Mangel für mich) Dass an manchen Stellen die Bindings nicht optimal sind, weiß ich... mich würde da interessieren wo bei dir der Schuh drückt, da ich gerade bei den C#-Bindings ein wenig zur Qualitätssteigerung beigetragen habe. Vielleicht noch zum Verständnis: Die meisten API-Funktionen werden bei TF generiert, damit die Vielzahl an Bricklets und Sprachen unterstützt werden kann. Ich finde es a
  20. AuronX

    Bausätze?

    Aber wenn du schon einen Bestücker mit sowas beauftragst... ist es dann nicht ein leichtes die Einzelteile selbst zusammen zu suchen? Oder ist das nicht so leicht möglich? (ich würde nichtmal den Bestücker finden ^^)
  21. Ich würde Wikipedia-Artikel (oder andere Quellen) zu den Begriffen HSV und HSL empfehlen. (Hue, Saturation, Lightness/Brightness) Das sind Farbmodelle die genau das von dir beschriebene Problem addressieren. Da kannst du einmal die Umrechnung implementieren (wenn deine Standardbibliothek nicht schon soetwas bietet) und dann einfach die Umrechnung nutzen.
  22. Wäre es nicht (für Lötfreunde) möglich, den Reset-Taster am Masterbrick des Stapels durch das RED-Brick auszulösen? Ungefähr so (Achtung, ich weiß nciht was ich rede): 1. Reset-Knopf am Master ablöten 2. GPIO-Ausgänge die am RED übrig sind auf Kontakte des Reset-Knopf auflöten 3. per Software Reset auslösen
  23. Wenn ich die Frage richtig verstehe, dann steht die Antwort hier: http://www.tinkerforge.com/de/doc/Software/Bricklets/IndustrialQuadRelay_Bricklet_C.html#industrial_quad_relay_get_monoflop
  24. Tut mir leid, das hätte ich in meinem Originalpost klarer kenntlich machen sollen. Ich bezog mich tatsächlich lediglich auf den Einsatz im Rahmen von PHP-Webseiten
  25. Grundsätzlich muss ich bei den PHP-Bindings sagen, dass ich auf den EInsatz von Callbacks verzichten würde. Das liegt daran, dass die PHP-Bindings Callbacks nur sonderbar unterstützen. Du musst eine blockierende Methode aufrufen, die die Callbacks bearbeitet, dafür passiert aber sosnt nix tolles... Also mein Tipp: Bei PHP keine Callbacks Den anderen Teil deiner Frage habe ich nicht so recht verstanden. Aber es reicht wenn du eine IPConnection für viele Bricklets nutzt.
×
×
  • Create New...