Soooooo Nachdem ich von der Community ja schon oft Hilfe erhalten habe, habe ich mir gedacht, ich gebe mal was zurück. Ich muss gleich vorweg schicken - es ist nicht perfekt. Beispielsweise wird nicht erkannt, wann ein Device abgesteckt oder angesteckt wurde. Ehrlich gesagt - ich wusste nicht wie das geht :( Aber zurück zum Thema: Konkret geht es mir um den Bitbang Mode des FT245/FT232 von FTDI. In Zeiten in denen serielle Schnittstellen rar werden, man aber doch ab und an gern ein paar Portlines hätte, um daran per Relais ein Lämpchen oder was auch immer anzuschliessen, wollte ich mal etwas einfaches basteln, das hier evtl. aus der Patsche helfen kann :) Geworden ist es: * Eine Serverkomponente in C#, die auf einen angeschlossenen FT245/FT232 die einzelnen Port Pins setzen kann. Das Ganze geschieht über den BitBang Modus (nachzulesen auf www.ftdichip.com). Diese Komponente wickelt die eigentliche Kommunikation mit dem Chip ab, bzw. stellt das Objekt "FTDIDevice" am lokalen PC zur Verfügung und reicht es per IPC an die Clients weiter * Eine Clientkomponente, die es erlaubt aus dem Tray (da rechts unten) die einzelnen Port Pins zu setzen * Ein Command - Line - Client. Sprich: Mittels USBSwitch 7 1 kann der 8te Pin auf High gesetzt werden. Zum Beispiel zur Verwendung in einer Batch Datei * Eine Mailchecker Komponente, die einen wählbaren Pin beim Erhalt von Mail auf einem POP Server setzt / löscht. Vorsicht: Funktioniert nur mit POP und auch nur wenn keine Mails am Server verbleiben. Der Mailcheck Teil der Komponente ist in höchstem Masse dumm :) - Benötigt wird: * Visual Studio 2005 (alles ab der beta2) * Das .NET Framework 2.0 (heute wurde übrigens die final released) * Ein bischen C# Kenntnisse :) Was ich auch noch sagen möchte: Ich bin beileibe kein Profi in solchen Dingen. Dies ist mein erstes Projekt das Hard und Software verbindet. Ich bitte darum, mich nicht mit Kritik zu überschütten - ja - es ist nicht perfekt - ich weiss. Gegenüber konstruktiver Kritik bin ich jedoch immer offen und wünsche mir solchige sogar :) Weiters ist mir klar, dass gewisse Dinge einfacher/besser gelöst werden könnten. Das Ganze entstand jedoch in meiner (spärlichen) Freizeit und daher muss es reichen. Das Projekt beinhaltet natürlich den gesamten Sourcecode. An Hardware wird nur ein lauffähiger FT232/FT245 benötigt (sprich: mit Taktgeber, und sonstigen Dingen die in der entsprechenden Application Note auf www.ftdichips.com zu finden ist). Weiters möchte ich noch www.elk-tronic.de loben. Ich habe von dort mein fertig bestücktes USB Modul erhalten (http://www.elk-tronic.de/Products/Adapter/SpecialAdapter/SpecialAdapter.htm). Der Inhaber ist per Mail sehr freundlich (und nein, ich bins nicht :) ). So .. Ende der Litanei ... alles weiter - hier -> http://www.somnatic.at/USBControl
Klingt ja interessant... Aber wo kann man sich das Projekt ansehen?
Derzeit? Gar nirgends - aber das Ganze ist auch schon ein Jahr her .. Wenn du willst, kann ich dir jedoch zukommen lassen, was ich noch habe. Mail an somnaticuser@hotmail.com
mmh - klingt Interessant. Gibts irgendwo noch den Code? Habe Interesse an der Client-komponente...
da hätt ich dann mal noch ne frage. hat es jemand schon hinbekommen den kompletten befehlssatz des FTDI - also für die "dll" in C# umzusetzen. auf der ftdi-seite gibts zwar 2 beispiele aber wirklich gut funktionieren die nich, z.b. ListDevices(by description). oder vielleicht kennt jemand ne methode wie ich die c++ library in c# einbinden kann.
Hallo Die Lösung hätte mich auch interessiert, speziell der Code um den BitBang Modus aus/anzuschalten. Warum wurde eigentlich das Projekt nicht an den Startbeitrag angehängt? Dann hätte jeder der danach gesucht hat es gleich runterladen können? Grüße Cornflake
Du hast schon mitbekommen, daß dieser Thread seit immerhin VIEREINHALB JAHREN inaktiv war?
Ist mir schon klar das der Beitrag ne Zeit alt ist. Nachdem aber der komplette Thread durch das Fehlen der gesuchten Quelltextdatei (die unsinniger weise nicht in dem Thread direkt angehängt wurde) keinen Informationsgehalt mehr hat, wäre es nicht falsch sich den Speicher zu sparen und den Thread zu löschen.
So, jetzt reichts mir aber. Die Möglichkeit, Dateien anzuhängen gab es damals schlicht und einfach nicht. Den Sourcecode habe ich ebenfalls nicht mehr, verglichen mit dem was ich heute mache war das Kinderkacke und ich würde mich schämen sowas abzugeben. Nachdem es aber nur ein paar Zeilen Code waren, sollte es ein leichtes sein, das nachzubauen.
Ok, das man keine Dateien anhängen konnte wusste ich nicht. Schade, denn für nen Anfänger mit diesem FTDI Chip wie mich, ist das keine Kinderkacke. Leider gibts sonst da auch kaum einen Einstiegscode oder gescheite Erklärung, Handbuch wie das ganze eigentlich funktioniert.
Gut, wenn du immer noch dran interessiert bist, schau ich dir ob ich daheim noch wo einen FT232 habe damit ich nochmal schnell was zusammenpfuschen kann. Die Software Examples von FTDI selbst kennst du aber eh, oder? http://www.ftdichip.com/Support/SoftwareExamples/CodeExamples/CSharp.htm Da gibts nämlich mittlerweile sogar einen .NET Wrapper. Kurzanleitung: * Neues Projekt in Visual Studio * Add Reference (DLL aus dem ZIP auswählen) Und schon hast du Zugriff auf alle Funktionen, da gibts sogar eine die sich SetBitMode nennt.
Hi Danke für das Angebot :) Ja die Wrapperklasse habe ich mir schon mal angeschaut. Auch die SetBitmode Methode habe ich gefunden. Auch das man da irgendwie mit 1 Pins als Ausgänge und 0 Pin-Eingänge setzt. Aber mir fehlt das Verständnis wie ich dann da diese Pin setze bzw. auslese, vor allem ohne jetzt durch einen falschen Befehl mir den Chip zu schrotten. Zudem ist mir nicht klar wie das mit synchron und asynchon und diesem CBUS zu verstehen ist. Ich habe mir ein Sparkfun FTDI Basic 5V Breakoutboard gekauft und leider erst jetzt mitbekommen, dass es die billigere Version ist mit nur (DTR,RX1,TX0,5V,CTS,GND). Da fehlen nochn paar Pins, die auf der teueren Version vorhanden gewesen wären. Der Chip ist ein FT232RL. Mir würde es schon helfen son einfachen Dreizeiler in C# zu haben, der den Bitbang Modus aktiviert und dann zwei Pins als Ausgänge(LED) schaltet und zwei als Eingänge(Taster) und ich dann per Code über die Taster die 2 Led ein und ausschalten kann. Von da aus könnte ich dann weiter experimentieren und Erfahrungen sammeln. Mit fehlt halt dieser grundlegende Einstieg. Danke Grüße Cornflake
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.