Aktuelle Zeit: 28.10.2020 07:31

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 28 Beiträge ]  Gehe zu Seite 1, 2, 3  Nächste
Autor Nachricht
 Betreff des Beitrags: libusb-1.0 Include for Linux
BeitragVerfasst: 25.07.2013 22:42 
Offline
Ein Admin
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
Hi Leute,

ich muss mich gerade etwas knapp halten, aber ich will euch meinen bisherigen Fortschritt mit dem Übersetzen der originalen libusb.h in Version 1.0.11 nicht vorenthalten. Bisher geht noch nicht so viel, aber schon bald werde ich alle Funktionen der libusb integriert haben und danach kommen dann noch weitere Funktionen, die auf den üblichen PureBasic-Syntax zugeschnitten sind. Ein paar sind sogar schon drin plus einem Beispiel.

Das ganze besteht aus zwei Dateien, die man hier herunterladen kann: libusb.pbi und libusb_Wrapper.pbi

Aktuell ist das Beispiel noch in der 'libusb_Wrapper.pbi' enthalten. Das wird aber dann schon bald ausgelagert, damit die Übersicht bewahrt bleibt.

Die 'libusb.pbi' ist alleine mehrere PB-Versionen abwärtskompatibel, der Wrapper nutzt allerdings schon die Modul-Technologie von PB. Vielleicht werde ich das ganze sogar in Zukunft in vier Versionen anbieten: (1) als Modul, (2) als normale PB-Funktionen mit einem Präfix wie zum Beispiel 'LIBUSB_', (3) als Pseudo-Klasse mit der Hilfe von Interfaces und (4) als simplen Wrapper der orginalen Bibliotheksfunktionen der libusb.

Getestet habe ich das ganze mit Version 1.0.9 und 1.0.11 der libusb unter einem 64-Bit Linux (Debian). Version 1.0.16 der libusb steht ja schon in den Startlöchern, aber ist noch nicht Final. Dort hat sich aber nochmal ein bisschen was verändert. Das bringt mich zu folgendem Punkt: Ich habe vor das PB-Include nicht einfach nur an zukünftige neue libusb-Versionen anzupassen, sondern es gleichzeitig auch abwärtskompatibel zu älteren Versionen zu machen. Dazu muss man dann vor dem Kompilieren des Quellcodes drei Konstanten ändern, die die zu verwendende Version darstellen. Zur Laufzeit kann man zwar die aktuell installierte libusb-Version feststellen, das bringt einem dann aber nichts mehr, wenn der Code schon kompiliert ist.

Ich würde mich über Hilfe freuen um das ganze auch auf Windows lauffähig zu kriegen. Vermutlich muss man da nur beim Import im Wrapper irgendwas ändern.

_________________
Ubuntu Gnome 20.04 LTS x64, PureBasic 5.72 x64 (außerdem 4.41, 4.50, 4.61, 5.00, 5.10, 5.11, 5.21, 5.22, 5.30, 5.31, 5.40, 5.50, 5.60, 5.71b2)
"Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: libusb-1.0 Include for Linux
BeitragVerfasst: 25.07.2013 23:48 
Offline
Benutzeravatar

Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Hi,

du hast dir da ja richtig Mühe gegeben :) und bitte daher um Entschuldigung, falls dieser Post so wirkt als würde er deine Arbeit runter machen, das ist nicht meine Absicht :(.

Hast du aber schon überlegt statt es händisch zu machen einfach GUsb zu verwenden und dann die mitgelieferte GIR Datei mit <http://www.forums.purebasic.com/english/viewtopic.php?f=14&t=43681> zu übersetzen?

Das Tool scheint jetzt auch schon etwas älter zu sein. Ich würde aber vorschlagen eher das Tool auf Vordermann zu bringen anstatt alle Header manuell zu übersetzen. Auf die Weise kannst du dann wesentlich schneller so ziemlich alle Bibliotheken in PureBasic verwenden, die auch GIR Bindings anbieten. Das sind nicht Wenige :).

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: libusb-1.0 Include for Linux
BeitragVerfasst: 26.07.2013 00:59 
Offline
Ein Admin
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
Dieses GIR-Zeugs hab ich jetzt noch nie gehört, werde ich mir aber bei Gelegenheit sicherlich mal anschauen.

Aber da ich aktuell nur an libusb interessiert bin, weil ich das für ein Projekt brauche, ist es eigentlich unsinnig mich jetzt in was anderes einzuarbeiten. Und sonderlich schwer war das Übersetzen der Header-Datei ja nicht. Lediglich die Kommentare, die ich unbedingt auch im PB-Code behalten wollte, haben Formatierungszeit beansprucht. Der Rest ging ja recht fix, im Grunde unter zwei Stunden. Und da ich nicht am laufenden Band Header-Files konvertiere, finde ich den Arbeitsaufwand angemessen. :wink:

Anfangs dachte ich auch daran schnell einen kleinen Konverter zu coden, der den C-Header in PB-Code übersetzt, aber da hatte ich dann doch keine Lust drauf und hab lieber direkt losgelegt selbst zu übersetzen. :D

_________________
Ubuntu Gnome 20.04 LTS x64, PureBasic 5.72 x64 (außerdem 4.41, 4.50, 4.61, 5.00, 5.10, 5.11, 5.21, 5.22, 5.30, 5.31, 5.40, 5.50, 5.60, 5.71b2)
"Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: libusb-1.0 Include for Linux
BeitragVerfasst: 06.01.2014 21:58 
Offline
Ein Admin
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
Hallo Leute,

ich wollte mich nur noch mal melden um euch zu sagen, dass ich alles etwas umkonzipiert habe. Und zwar baue ich jetzt einfach das pyUSB-Framework nach, da mir das gut durchdacht erscheint. Daraus mache ich jetzt sozusagen pbUSB, allerdings zunächst nur mit libusb1. libusb0 und openusb lasse ich mal außen vor. Die beiden scheinen eh seltener genutzt zu werden.

Bisher ist schon mal das backend fertig, und jetzt gerade bin ich am core dran. Das wird die kompliziertere Geschichte. Natürlich kann man den Python-Code nicht 1:1 übersetzen, weil es bei PureBasic keinen GarbageCollector gibt und man auch nicht so einfach neue Attribute an ein Objekt dran hängen kann, die vorher noch nicht da waren. Aber hauptsächlich macht der nicht vorhandene GarbageCollector einem das Leben schwer. Aber das krieg ich schon hin. Bisher ist alles auch noch recht übersichtlich mit gerade mal knapp über 1500 Zeilen Code.

Ich melde mich dann wieder, sobald das erste funktioniert.

_________________
Ubuntu Gnome 20.04 LTS x64, PureBasic 5.72 x64 (außerdem 4.41, 4.50, 4.61, 5.00, 5.10, 5.11, 5.21, 5.22, 5.30, 5.31, 5.40, 5.50, 5.60, 5.71b2)
"Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: libusb-1.0 Include for Linux
BeitragVerfasst: 06.01.2014 22:31 
Offline
Benutzeravatar

Registriert: 23.07.2011 02:08
Blöde Frage, aber was kann man damit machen? Arduino und so ansteuern?

_________________
Signatur und so


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: libusb-1.0 Include for Linux
BeitragVerfasst: 06.01.2014 22:43 
Offline
Ein Admin
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
Därrän hat geschrieben:
Blöde Frage, aber was kann man damit machen? Arduino und so ansteuern?

Damit kann man alle möglichen USB-Geräte ansteuern, sofern man das Protokoll kennt, über das sie kommunizieren.

Da die direkte Verwendung von libusb recht unkomfortabel ist, schreibe ich deswegen noch einen Wrapper drum herum, der die Anbindung übersichtlicher gestaltet, und ähnlich wie pyUSB aufgebaut ist.

Ich nutze es aktuell für meinen Atmel ATXMega, aktuell aber noch über Python (Siehe neustes Video in meinem Youtube-Kanal).

_________________
Ubuntu Gnome 20.04 LTS x64, PureBasic 5.72 x64 (außerdem 4.41, 4.50, 4.61, 5.00, 5.10, 5.11, 5.21, 5.22, 5.30, 5.31, 5.40, 5.50, 5.60, 5.71b2)
"Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: libusb-1.0 Include for Linux
BeitragVerfasst: 28.02.2014 19:12 
Offline
Ein Admin
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
Hier mal eine neue Version, die besser getestet und etwas umgebaut ist.
Folgende Dateien muss man sich dafür laden:
- header.pbi
- import.pbi
- time.pbi

Um die Funktionen nutzen zu können, muss man "import.pbi" inkludieren und kann dann auf die Funktionen zugreifen, wenn man entweder 'UseModule LIBUSB1' nutzt, oder sie direkt anspricht mit dem Modulnamen. Ein kleines Beispiel folgt noch.

_________________
Ubuntu Gnome 20.04 LTS x64, PureBasic 5.72 x64 (außerdem 4.41, 4.50, 4.61, 5.00, 5.10, 5.11, 5.21, 5.22, 5.30, 5.31, 5.40, 5.50, 5.60, 5.71b2)
"Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: libusb-1.0 Include for Linux
BeitragVerfasst: 29.03.2016 08:40 
Offline
Benutzeravatar

Registriert: 19.05.2012 17:09
@Nic

Hallo, deine Beiträge könnten mir vielleicht bei folgendem Problem helfen:
Ich habe das prima und preiswerte ADAFRUIT-FT232H-Board https://learn.adafruit.com/adafruit-ft232h-breakout/overview, mit dem man zunächst USB-Serial UART in Nullkommanix erledigt hat.
Ich möchte es letztlich als Alternative zu Arduino benutzen, um ganz simpel GPIO-Ports anzusteuern. Adafruit bietet hierzu eine eigene Python-Lib an. Ich möchte mich aber nun nicht auch noch mit Python beschäftigen, sondern die Pins möglichst von PureBasic (Windows10, 64-bit) aus über USB und dann den FT232H-Chip ansteuern.

Grundsätzliche Frage: Würden mir deine Beiträge in der Richtung helfen?

Zitat:
Ein kleines Beispiel folgt noch.
Viuelleicht würde mir das helfen.

_________________
Windows10 / PB5.70 / Arduino (-Due) / Raspberry Pi3 /Linux Mint 18


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: libusb-1.0 Include for Linux
BeitragVerfasst: 29.03.2016 10:26 
Offline
Ein Admin
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
Hm... Hab lang nicht mehr damit herum gebastelt. Schon gar nicht unter Windows. Ich muss mal schauen, ob das noch sauber läuft und ob es auch unter Windows will. Hab aber nur Windows 7 hier zum Testen.

_________________
Ubuntu Gnome 20.04 LTS x64, PureBasic 5.72 x64 (außerdem 4.41, 4.50, 4.61, 5.00, 5.10, 5.11, 5.21, 5.22, 5.30, 5.31, 5.40, 5.50, 5.60, 5.71b2)
"Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: libusb-1.0 Include for Linux
BeitragVerfasst: 31.03.2016 07:16 
Offline
Benutzeravatar

Registriert: 19.05.2012 17:09
@Nic
Könntest du 'mal das 'kleine Beispiel' posten. Das würde mir womöglich beim Einstieg helfen.

Danke!

_________________
Windows10 / PB5.70 / Arduino (-Due) / Raspberry Pi3 /Linux Mint 18


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 28 Beiträge ]  Gehe zu Seite 1, 2, 3  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye