Homepage Wiki Forum Buy

Programmieren mit API

Aus GNUBLIN

Diese Beschreibung soll eine Hilfestellung bieten, wie man die API in eigenen Programmen benutzt.

Dokumentation der API

Inhaltsverzeichnis

Vorbereitung:

Zuerst lädt man sich die gnublin.h und gnublin.cpp Dateien herunter und legt sie in dem Projektverzeichnis ab.


Eigener Programmcode:

Bei den eigenen Programmen muss man einfach nur die gnublin Headerdatei includieren:

#include "gnublin.h"

Nun kann es auch schon mit der Programmierung des eigenen Programmes losgelegt werden. Soll ein Modul oder Treiber genutzt werden erzeugt man zuerst ein Objekt der jeweiligen Klasse, dieser aufruf ist sehr ähnlich zur deklaration einer Variablen:

Name_der_Klasse Objektname;

  • Name_der_Klasse muss mit der Klasse übereinstimmen. Alle verfügbaren Klassen sind in er oben verlinkten Klassenübersicht (Dokumentation) zu entnehmen.
  • Objektname kann frei gewählt werden.

Nun kann wie folgt auf die einzelnen Methoden der Klasse zugegriffen werden:

Objektname.Methode();

  • Objektname siehe oben.
  • Methode() Die Methoden sind die verfügbaren "Funktionen" der Klasse, diese sind ebenfalls alle in der oben verlinkten Klassenübersicht mit Beschreibung und Benennung der Übergaben erklährt.


Beispiel anhand des Module-LM75

Mit der gnublin_module_lm75 Klasse lässt sich einfach auf das LM75-Temperatursensor Modul zugreifen und die Temperatur auslesen.

Bevor man die LM75 Funktionen verwenden kann, muss man die LM75 Schnittstelle ähnlich wie eine Variable bekannt machen:

gnublin_module_lm75 lm75;

Nun kann man auf diese Funktionen zugreifen (mit Beispielparamtern):

lm75.setAddress(0x12);
lm75.setDevicefile("/dev/i2c-1");
lm75.getTemp();
lm75.getTempFloat();
lm75.getValue();
lm75.fail()


Eigenen Code kompilieren

Um den geschriebenen Programmcode für den Gnublin oder RaspberryPi zu übersetzen muss die Toolchain installiert sein. Anschließend kann das Programm mit fogendem Befehl übersetzt werden:

Für Gnublin:

user@dev-pc:~$ arm-linux-gnueabi-g++ -DBOARD=GNUBLIN -o Programmname Programmcode.cpp gnublin.cpp

Für RaspberryPi:

user@dev-pc:~$ arm-linux-gnueabi-g++ -DBOARD=RASPBERRY_PI -o Programmname Programmcode.cpp gnublin.cpp

etc. Für die verschiedenen Boards muss man beim kompilieren einfach den Parameter:

-DBOARD=boardname

Alternativ kann man mit Codeblocks, Eclipse oder per Makefile kompilieren.

Beispiele anhand lauffähigen Programmen

Einige Beispielprogramme sind in unserer Dokumentation zu sehen. Alternativ können sie lokal in einem eigenen Ordner auf der Komandozeile gecloned werden:

user@dev-pc:~$ git clone https://github.com/embeddedprojects/gnublin-api.git
In anderen Sprachen