Hi,
Ich muss mal wieder ein Thema erstellen, da ich erneut in einem Bereich des Pi bzw Linux gelandet bin, in dem ich nicht weiter komme. Ich habe folgenden Sensor *klick*. Diesen möchte ich entsprechend mit dem Pi (in diesem Fall in Pi2 B) verwenden. Bei meinen Recherchen bin ich lediglich auf einen Thread gestoßen in dem jemand zunächst ein Kernel Modul entwickelt hat, welches den Pi befähigt mit dem Sensor umgehen zu können (https://code.google.com/archive/p/tsic-kernel/).
Allerdigs hat der selbe User auch eine Varainte mit pigpio und einem c++ skript vorgestellt (https://code.google.com/archive/p/tsic-pigpio/). Da dies deutlich einfacher ist zu realisieren, habe ich zunächst das getan.
Der Sensor wird auch erkannt und es werden Temperaturen ausgegeben, diese liegen aber etwa 17 °C über der eigentlichen Temperatur.
Auf Anhieb konnte ich in den skripten für PiGpio keinen Grund für die große Abweichung ausmachen. Hat da jemand eine Idee woran es liegen könnte?
Jedenfalls habe ich mich dann dem Kernel Modul zugewandt um zu testen, ob dieses bessere Ergebnisse liefert. Bin aber leider nicht sonderlich weit gekommen.
Wie in seiner Anleitung hier https://code.google.com/archive/p/tsic…sCompilePi.wiki, habe ich auf einem laptop mit Linux (Mint) zunächst die toolchain installiert, wie es hier angegeben wird.
Anschließend habe ich
und hinterher
im "Linux" Verzeichnis ausgeführt. Als nächstes die config datei von meinem Pi in das linux Verzeichnis, wie angegeben, kopiert.
Bis hierhin schien noch alles geklappt zu haben. Nun sollte ich mir die entsprechende Modul.symvers raussuchen und in das linux Verzeichnis laden. Mein Pi benötigt die Version 3.18.11-v7+, diese ist jedoch auf der verlinkten Seite nicht vorhanden. Da soweit ich weiß die API rückwärtskompatibel sein soll, habe ich Version 3.18.12 genommen.
Im letzten Schritt passiert dann das was ich am wenigsten verstehe und wo der erste Fehler auftritt (der wahrscheinlich auf einem Fehler schon viel weiter vorne basiert).
Da ich keine Ahnung habe, wie ich den Befehl der dort angegeben ist (null formatiert), eingeben muss, habe ich es wie folgt getan:
``` ARCH=arm CROSS_COMPILE=${CCPREFIX} make oldconfig ARCH=arm CROSS_COMPILE=${CCPREFIX} make menuconfig ARCH=arm CROSS_COMPILE=${CCPREFIX} make modules_prepare ```
Dabei bekomme ich die Fehlermeldung:
Makefile:517: target 'make' given more than once in the same rule
scripts/basic/fixdep.c:106:23: fatal error: sys/types.h: No such file or directory
compilation terminated.
make[2]: *** [scripts/basic/fixdep] Error 1
make[1]: *** [scripts_basic] Error 2
make: *** [__build_one_by_one] Error 2
HOSTCC: command not found
Wäre auf jeden Fall interessant zu wissen, wo meine Fehler liegen. Speziell der merkwürdige Befehl am Ende braucht erklärung. :s
BN