- LiTime Speicher und Akkus         
Ergebnis 1 bis 7 von 7

Thema: Tinkerforge IMU Brick 2: einfacher C/C++ Treiber für Raspi mit Geany?

  1. #1
    HaWe
    Gast

    Tinkerforge IMU Brick 2: einfacher C/C++ Treiber für Raspi mit Geany?

    Anzeige

    Praxistest und DIY Projekte
    hallo,
    wie im "Wild Thumper" Thread https://www.roboternetz.de/community...-Roboter/page2 von Defiant angesprochen, hier nochmals ausgelagert die Frage nach einem einfachen Raspi-C/C++ -Treiber.
    Er sollte ähnlich einfach zu implementieren sein wie der cmps11, wobei mich persönlich nur das horizontale Heading interessiert:
    http://www.mindstormsforum.de/viewto...p=70055#p70055
    (für viele andere werden sicher aber auch alle 3D Werte interessant sein)
    Der cmps11 ist zwar super genau, wenn keine magnetischen Störfelder in der Näher sind, aber wehe, wenn doch:
    Komme ich ihm mit meinem Notebook in die Nähe, dreht das Kompass Heading von 360° auf 160 ab, das geht ntl gar nicht in einem Metall-Gefährt mit Metall-und Elektroteilen und wechselnder Metall-Beladung.
    Daher vor allem @Defiant:
    siehst du dafür eine Chance?
    Es muss allerdings ohne makefile oder cmake funktionieren, einfach per #include und max. 1 - 3 flags für Compiler und Linker, denn ich benutze ausschließlich alle compile/build-Einstellungen per Geany IDE preferences.

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Defiant
    Registriert seit
    17.04.2005
    Ort
    Hamburg
    Beiträge
    182
    Mit https://www.tinkerforge.com/de/doc/S...indings_C.html sieht das so aus. Es wird halt

    1. brickd benötigt.
    https://www.tinkerforge.com/de/doc/Software/Brickd.html
    Die Installation ist dort gut beschrieben

    2. C-API
    https://www.tinkerforge.com/de/doc/S...indings_C.html

    Hier muss einmal die Library libtinkerforge.so in "source" mit "make" erstellt werden.

    Anschließend kann jedes Programm, z.B. das Beispiel "example_authenticate.c" kompiliert, z.B. so:

    Code:
    GCC example_authenticate.c -I ../source -ltinkerforge -L ../source -lpthread -Wl,-rpath,../source -o example_authenticate
    Der Befehl bindet die Bibliotheken pthreads und libtinkerforge ein, setzt den Include und Library Pfad auf "../source".

  3. #3
    HaWe
    Gast
    Zitat Zitat von Defiant Beitrag anzeigen
    Mit https://www.tinkerforge.com/de/doc/S...indings_C.html sieht das so aus. Es wird halt

    1. brickd benötigt.
    https://www.tinkerforge.com/de/doc/Software/Brickd.html
    Die Installation ist dort gut beschrieben

    2. C-API
    https://www.tinkerforge.com/de/doc/S...indings_C.html

    Hier muss einmal die Library libtinkerforge.so in "source" mit "make" erstellt werden.

    Anschließend kann jedes Programm, z.B. das Beispiel "example_authenticate.c" kompiliert, z.B. so:

    Code:
    GCC example_authenticate.c -I ../source -ltinkerforge -L ../source -lpthread -Wl,-rpath,../source -o example_authenticate
    Der Befehl bindet die Bibliotheken pthreads und libtinkerforge ein, setzt den Include und Library Pfad auf "../source".

    danke, aber das alles verstehe ich so leider nicht, es ist noch nicht ganz Raspi- und Geany-spezifisch genug.

    pthread ist schon bei meinen Geany-Build-Flags mit dabei, allerdings nicht als -lpthread sondern als -pthread, denn das soll re-entrant sein.

    ../source ist auch ein seltsam anmutender Name, meinst du /home/pi/source ? Und dann zusammengeschrieben mit -I und -L, ohne Leerzeichen?

    Was ist hingegen dann -Wl,-rpath,../source ? Was davon muss nach Geany rein und was nicht?

    statt example_authenticate.c und example_authenticate stehen bei mir "%e" und "%f" , das brauch ich also nicht.

    Dennoch ist mir der Rest an Installationsvorschriften noch zu verworren, ich bräuchte eigentlich dazu mal ein Testgerät, das ich zurückgeben kann, wenn ichs mit dem setup nicht hinkriege, denn sonst ist zuviel Geld verbrannt.

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied Avatar von Defiant
    Registriert seit
    17.04.2005
    Ort
    Hamburg
    Beiträge
    182
    Ich habe die Testdatei im Ordner examples compiliert:

    Ordnerstruktur:
    Code:
    tinkerforge/c_bindings/examples
    tinkerforge/c_bindings/source
    Deswegen befindet sich bei mir die Bibliothek libtinkerforge relativ gesehen in "../source".

    Bei der Angabe des Include-Pfades wird üblicherweise ein Leerzeichen nach "-I" (I wie India) gesetzt.
    Bei der Angabe des Namens der Bibliothek kein Leerzeichen bei -l (l wie Lima).
    Die Argumente -Wl,-rpath,../source setzen den Suchpfad für die Bibliothek die mit -l angegeben wurde.

  5. #5
    HaWe
    Gast
    Zitat Zitat von Defiant Beitrag anzeigen
    Ich habe die Testdatei im Ordner examples compiliert:

    Ordnerstruktur:
    Code:
    tinkerforge/c_bindings/examples
    tinkerforge/c_bindings/source
    Deswegen befindet sich bei mir die Bibliothek libtinkerforge relativ gesehen in "../source".

    Bei der Angabe des Include-Pfades wird üblicherweise ein Leerzeichen nach "-I" (I wie India) gesetzt.
    Bei der Angabe des Namens der Bibliothek kein Leerzeichen bei -l (l wie Lima).
    Die Argumente -Wl,-rpath,../source setzen den Suchpfad für die Bibliothek die mit -l angegeben wurde.
    Oscar Kilo, hatte bisher auch nach India keinen Blank gesetzt
    g++ -Wall -pthread -I/opt/vc/include -I/opt/vc/include/interface/vmcs_host/linux -I/opt/vc/include/interface/vcos/pthreads -o "%e" "%f" -lshapes -L/opt/vc/lib -lOpenVG -lEGL -lwiringPi -pigpio -lrt

    ansonsten nehm ich immer lieber absolute Pfade, damit ich von beliebigen Dirs aus arbeiten kann.
    Indes, das größte Hindernis bleibt die teure Anschaffung bei dem Monster-Installationsprozess....

  6. #6
    HaWe
    Gast
    hallo,

    @Ceos:
    gibt es jetzt schon neue (Zwischen-) Ergebnisse?

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    leider nicht viel, bei mir laufen einige Dinge gerade aus dem Ruder, weswegen ich im Moment einfach nicht dazu komme
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

Ähnliche Themen

  1. Antworten: 63
    Letzter Beitrag: 18.02.2016, 08:43
  2. Antworten: 0
    Letzter Beitrag: 15.10.2015, 20:34
  3. Raspbian Geany für C++ einstellen
    Von HaWe im Forum Raspberry Pi
    Antworten: 4
    Letzter Beitrag: 15.10.2015, 15:47
  4. Tinkerforge Red-Brick: Linux auf 4 x 4 Zentimetern
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 15.12.2014, 08:00
  5. "einfacher" FAT-Treiber gesucht
    Von Jaecko im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 13.08.2008, 20:11

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiTime Speicher und Akkus