Ich hab mich gerade mal wieder an den Neigungssensor in meinem Arbeitslaptop (einem Thinkpad T43) erinnert, und wollte den mal unter Windows auslesen.
Mit etwas googlen habe ich zwar ein paar Schnipsel sowie einen Pascal-Quellcode gefunden, aber nichts schönes fertiges. Grundsätzlich ist das nicht wirklich schwer, man muss nämlich nur die ShockproofGetAccelerometerData -Funktion in der von IBM mitgelieferten, aber leider undokumentierten Sensor.dll aufrufen.
Nun braucht man dazu die passenden Funktionssignaturen und ein paar Informationen für den Linker.
Mit den Informationen aus dem Netz habe ich also ein passendes Sensor.h mit der Signatur und nötigen Struktur gebastelt.
Um das ganze mit dem cygwin-gcc zu linken braucht man noch die Linker-Informationen. Bequemerwesie muss man nur die Funktionsnamen in die Sensor.def packen und dann macht dlltool den Rest.
Voilà, mein Testprogramm compiliert, läuft und gibt sinnvolle Werte aus:
karoshi:~/Prog/Win32ex/ReadAps>./ReadAps.exe
Status: 0
x: 423, y: 554
xx: 422, yy: 554
x0: 422, y0: 553
temp: 47
Den Source (inclusive Makefile) gibts als readaps-src.zip.
Jetzt wenn ich noch wüsste was ich eigentlich damit wollte… :-)
– Sec
posted at: 18:44 | Category: /tidbits | permanent link to this entry | 1 comment (trackback)

Maex wrote on Mon, 18 Feb 2008 22:52
Flugsimulator ohne Maus und Joystick spielen? :)