User:Ojw/Notes
From Openmoko
< User:Ojw(Difference between revisions)
(New page: == accel == Technical:Accelerometer Fundamentals Accelerometer data retrieval <pre>#!/usr/bin/python import struct from math import sqrt x = 0 y = 0 z = 0 in_file = open("/dev/i...) |
(→accel) |
||
| Line 1: | Line 1: | ||
== accel == | == accel == | ||
| − | [[Technical:Accelerometer Fundamentals]] [[Accelerometer data retrieval]] | + | [[Technical:Accelerometer Fundamentals]], [[Accelerometer data retrieval]] |
<pre>#!/usr/bin/python | <pre>#!/usr/bin/python | ||
import struct | import struct | ||
Revision as of 22:34, 15 July 2010
accel
Technical:Accelerometer Fundamentals, Accelerometer data retrieval
#!/usr/bin/python
import struct
from math import sqrt
x = 0
y = 0
z = 0
in_file = open("/dev/input/event3","rb")
event = in_file.read(16)
while event:
(time1,time2, type, code, value) = struct.unpack('iihhi',event)
time = time2 / 1000.0
if type == 2 or type == 3:
if code == 0:
x = value
if code == 1:
y = value
if code == 2:
z = value
if type == 0 and code == 0:
sum = sqrt(x*x + y*y + z*z)
px = x / sum
py = y / sum
pz = z / sum
orientation = "unknown"
if(px > 0.5):
orientation = "landscape"
elif(px < -0.5):
orientation = "landscape, inverted"
elif(py > 0.5):
orientation = "portrait, inverted"
elif(py < -0.5):
orientation = "portrait"
elif(pz > 0):
orientation = "upright"
elif(pz < 0):
orientation = "on back"
print "%s (%+4.1f %+4.1f %+4.1f)" % (orientation, px,py,pz)
event = in_file.read(16)
in_file.close()
