Hallo, ich versuche die Teesy AVR-USB-Bibliothekt zu implementieren. http://www.pjrc.com/teensy/rawhid.html Die µC Software läuft auch einwandfrei und ich kann sie verändern und neu kompilieren. Allerdings habe ich ein Problem mit der Windows-Software. Zwar funktioniert das fertig kompilierte Programm, dass man von der Seite herunter laden kann jedoch schaffe ich es nicht den mitgelieferten Quellcode zu kompilieren. Zuerst heiß es, dass ich eine "hidsdi.h" nicht habe. Also habe ich mir das Windows driver deveopment kit (DDK) herunter geladen. Nun kriege ich jedoch zahlreiche andere Fehlermenldungen. Zum Beispiel mehfach die Meldung "__checkRun does notname a type" in der Datei "hidpi.h". Hat schon mal jemand das Programm kompiliert und wenn ja, welche Tools und Bibliotheken hat er benutzt? Ist das hier das richtige Topic oder sollte ich die Frage besser unter "µC & Elektronik" stellen?
Philipp Meißner schrieb: > Ist das hier das richtige Topic oder sollte ich die Frage besser unter > "µC & Elektronik" stellen? Da es sich um PC-Programmierung handelt, bist Du hier richtig aufgehoben. Mit was für einem Compiler versuchst Du die Testanwendung zu übersetzen? Im Makefile steht was von i586-mingw32msvc-gcc, benutzt Du den?
Da bin ich ein wenig überfragt. Ich hatte es mit Dev++ und mit dem Visual Studio versucht. Ich wusste aber nicht was für Compiler die nutzen. Ich habe jetzt mal bei Dev++ unter den Compilereinstellungen die"mingw32-gcc.exe" ausgewählt. Aber es funktioniert leider immernoch nicht. Ich kriege immer haufenweise für mich recht kryprische Meldungen.
Hi Philipp, ich kenne jetzt diese Teesy Bibliothek nicht, aber falls die lediglich USB HID-Geräte vom PC aus ansteuert, dann versuchs mal mit der USB-Library von www.rahand.eu. Da gibts auch ne kostenlose Version - hat zwar kleine Einschränkungen, aber egal. Das Ganze läuft dann unter Microsoft Visual Studio Express. Ausserdem ist noch eine fertige Beispielanwendung mit dabei. Grüsse
Ich weiß halt nicht ob die perfekt mit dem Teensy µC-Code zusammenabreitet. Außerdem hat das Teensy Programm nach eigenen Angaben keinerlei Einschränkungen und schafft auch USB-Full-Speed (12 Mbit/s).
Die Einschränkungen sind ja nur bei der kostenlosen Version vorhanden. Und wenn es funktioniert, dann kannst Du ja immer noch upgraden.
Ich habe dem Autor der Teensy Software geschrieben. Und dieser meinte, dass er mit MinGW unter Linux Cross-Platfom compiliert hat. Das werde ich diese Tage mal versuchen. Ebenso werde ich es nochmal mit MinGW unter Windows versuchen (erste Versuche brachten leider Linker-Errors). Wenn ich Erfolg habe, werde ich hier davon berichten.
Die beschriebenen Versuche waren erfolgreich. Ich habe das Programm mit MinGW unter Ubuntu, welches in einer Vitual Machine auf Win XP lief compiliert.
Hey Philipp, steh momentan vor dem selben Problem wie du. Ich versuche den Teensy RAWHID Quellcode mit Visual Studio 2010 zu compilieren. Hab mir auch das WDK installiert. Das hatte zur Folge das alle Compilerfehler verschwunden sind. Jetzt bekomme ich aber eine lange Liste an Linkerfehlern siehe Bild. Über den Umweg mit Ubuntu würde ich nur ungern gehen. Hast du es mittlerweile unter Windows hin bekommen oder hat jemand anderes eine Idee wie ich das schaffen könnte?
Ein ähnliches Bild hatte ich damals auch. Und ich hatte auch das WDK installiert. Und da ich vor kryptischen Linkerfehlern immer etwas Bammel habe, habe ich mich damals für den Umweg über Ubuntu entschieden. Ich hatte mich innerlich Anfangs auch sehr dagegen gesträubt weil ich vorher noch nie wirklich was mit Windows gemacht habe. Aber es ging echt überraschend einfach. Ubuntu in VitualBox installiert, MinGW dazu installiert und mehr oder weniger im Handumdrehen lief alles. Und da ich eine virtualle Maschine benutzt habe musste ich meinen guten alten Windows-Desktop gar nicht wirklich verlassen. http://www.virtualbox.org/ Ich habe es danach auch nicht mehr weiter versucht unter Windows zu kompilieren. Was ich aber tun werde, wenn ich mal wieder dazu komme mit Teensy zu arbeiten (was ich hoffe den ich finds klasse), ist mir unter Ubuntu eine dll zu kompilieren die dann alle Funktionen kann die ich brauche. Und diese dll, die dann ja allen benötigten Code in einem Paket beinhaltet müsste man dann einfach in ein anderes Projekt einbinden können, dass man dann auch unter Windows kompilieren kann. Wenn mir jemand zuvorkemmen möchte und eine coole dll auf Teensy-Basis, die unter Windows direkt zu benutzen ist, erstellt, und sie hier veröffentlicht, wäre das natürlich auch klasse.
Hey danke für deine Antwort! Hab es jetzt auch unter Windows hin bekommen. Ist eigentlich auch nur MinGW installieren, Eclipse für C/C++ runter laden und dann kann es auch fast los gehen. Die 2 Probleme die dann noch zu lösen sind ist das man MinGW in den "PATH" eintragen muss und bei Eclipse muss man bei den Projekt Settings bei "C/C++ Build-->Settings-->MinGW C Linker --> Miscellaneous" unter Other objects die Pfade für "C:\MinGW\lib\libhid.a" und "C:\MinGW\lib\libsetupapi.a" angeben muss (für das RawHid Beispiel, ansonsten entsprechend andere) dann sollte die ganze Sache laufen.
Da du ja schon damit gearbeitet hast hab ich noch ne Frage ist es möglich Pakete von 128Bytes zu schicken? Kleinere hat ohne Probleme funktioniert, aber größere haut grad irgendwie nicht hin. Vorgesehen sind je eigentlich max. 64Byte wenn ich mir die usb_rawhid_send so ansehe. Hab sie einfach mal wie folgt erweitert
1 | // write bytes from the FIFO
|
2 | #if (RAWHID_TX_SIZE >= 128)
|
3 | UEDATX = *buffer++; |
4 | #endif
|
5 | #if (RAWHID_TX_SIZE >= 127)
|
6 | UEDATX = *buffer++; |
7 | #endif
|
8 | #if (RAWHID_TX_SIZE >= 126)
|
9 | UEDATX = *buffer++; |
10 | #endif
|
11 | #if (RAWHID_TX_SIZE >= 125)
|
12 | UEDATX = *buffer++; |
13 | #endif
|
14 | ......
|
bin aus dem Datenblatt auch nicht ganz schlau geworden ob da irgendwas dagegen spricht.
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.