Toradex OakTilt Incination v1.2 Direktzugriff Sensorregister -> Temperatur auslesen
Hallo beisammen,
ich habe hier einen Toradex OakTilt Inclination v1.2 Sensor.
Im Wesentlichen handelt es sich dabei um einen SCA3000-D01 Beschleunigungssensor, der mit einem IC auf einer Platine steckt, der ihn usbtauglich macht.
In der Theorie sollte dieser Sensor nun durch den Aufbau vom Hersteller aus den Temperaturdrift des Sensors ausgleichen können.
In der Praxis sieht es jedoch so aus, dass man Temperaturschwankungen anhand aufgenommener Messwerte sehen kann.
So können 3°C schonmal 0,1° Winkelungenauigkeit hervorufen.
Nun habe ich mit dem Hersteller des Sensors Kontakt aufgenommen, da ich im Datenblatt gelesen hatte, dass der SCA3000 einen Temperatur Output hat.
Leider bietet der Hersteller keinen Support mehr, da der Sensor nun als OpenSource verfügbar gemacht wurde.
Jedoch wurde mir gesagt, dass der Sensor so aufgebaut sei, dass man über USB an alle Daten des Sensors ran käme, wenn man direkt auf die Sensorregister zugreift.
Ich selbst habe mich am OpenSource-Beispiel des Sensors entlanggehangelt, um die Winkel ausgegeben zu bekommen.
Hier stellt Toradex die "OakLib" zur Verfügung.
Netterweise wurde der Programmcode des Herstellers, der aus C & C++ bestand, von einem Forenmitgliet unter http://www.c-plusplus.de/forum/315243-10 für reines C++ refaktorisiert.
Als Daten erhalte ich hier Frame (s), Acceleration (m/s²), Azimuth (rad) und Zenith (rad).
Leider liefert die Libary den Temperaturoutput des Sensors nicht mit.
Da ich auf dem Gebiet jedoch blutiger Anfänger bin, wüsste ich gerne, wonach ich googeln könnte, um an die Temperaturwerte des Sensors zu gelangen.
Der Sensor selbst wirs als HID-Device erkannt.
Das Datenblatt des OakTilt befindet sich hier:
http://docs.toradex.com/100095-oak-t...-datasheet.pdf
Das Datenblatt des SCA3000-D01 befindet sich hier:
https://www.sparkfun.com/datasheets/...CA3000-D01.pdf
Dazu habe ich ein Manual für den SCA3000 gefunden:
http://labjack.com/sites/default/fil...000-Manual.pdf
Die Firmware des Sensors befindet sich unter:
http://developer.toradex.com/files/t...BY_3_0)_R1.ZIP
Auf der Webseite des Herstellers habe ich noch folgendes gefunden:
http://www.muratamems.fi/en/support/...sca3000-series
und
http://www.muratamems.fi/sites/defau...00_rev_0.1.pdf
Unter dem vorletzten Link befindet sich auch ein Codebeispiel, das für einen ATmega168 geschrieben wurde.
Leider kenne ich mich zu wenig mit all dem aus, um selber den richtigen Ansatz für die Lösung zu finden, weshalb ich hoffe, dass mir hier jemand den richtigen Weg weisen kann.
Ich möchte also unter Linux über USB mit C++ auf die Sensorregister des SCA3000 zugreifen und die Temperatur auslesen.