-
        

Ergebnis 1 bis 5 von 5

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

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    1.964

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

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    hallo,
    wie im "Wild Thumper" Thread http://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
    Neuer Benutzer Öfters hier Avatar von Defiant
    Registriert seit
    17.04.2005
    Ort
    Hamburg
    Beiträge
    28
    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
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    1.964
    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
    Neuer Benutzer Öfters hier Avatar von Defiant
    Registriert seit
    17.04.2005
    Ort
    Hamburg
    Beiträge
    28
    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
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.10.2014
    Beiträge
    1.964
    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....

Ä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
  •