Problems Reading Accelerometer Device
Michael Tansella
michael-tansella at gmx.de
Wed Nov 26 11:28:23 CET 2008
Hi,
I want to read out the Acc device and for me it is important to get really
every measurement.
I read the wiki and the gestures source code but it didnt't help.
I set the samplerate to 400 Hz and though I think the time between two (x y z
separator) measurements should be ca 2,5 ms, but in my logfile you can see that
there are sometimes 30 ms. So I think I loose some values.
Any idea what I'm doing wrong?
Greets
Michael
------------------------------------------------------------------------------------------------------------------
Code:
///* reading the accelerometer Reports
void MokoAcc::run()
{
const unsigned int ReportLength = 16;
unsigned char Report[ReportLength];
while (GoOnFlag)
{
int ReadLength = read(AccDevice, Report, ReportLength);
//First 4 Bytes -> seconds
int Seconds = *(int *)(Report + 0);
//next 4 Bytes -> useconds
int uSeconds = *(int *)(Report + 4);
// conversion to mseconds
float mSeconds = uSeconds/1000.0;
// next 2 Bytes: Rel=0 -> Separator Rel=2 -> Message
unsigned short int Rel = *(unsigned short int *)(Report + 8);
// next 2 Bytes: Axis Index 0->X 1->Y 2->Z
unsigned short int AxisIndex = *(unsigned short int *)(Report + 10);
// next 4 Bytes: ACC Value in milli G
int ValueMG = *(int *)(Report + 12);
// Write to LogFile
AccLogFile<<"time: "<<Seconds<<" s"<<mSeconds<<"ms"<<"Rel:"<<Rel<<"Axisindex:
"<<AxisIndex<<" Value: "<<ValueMG<<" Timer dt: "<<ReadTime.elapsed()<<"ms\n";
// Restart Qt Time (measures time for one loop)
ReadTime.restart();
}
}
------------------------------------------------------------------------------
Logfile:
time: 1227390487 s 897.588 ms Rel: 2 Axis Index: 0 Value: -630 Timer dt: 14ms
time: 1227390487 s 897.622 ms Rel: 2 Axis Index: 1 Value: -432 Timer dt: 0ms
time: 1227390487 s 897.628 ms Rel: 2 Axis Index: 2 Value: 432 Timer dt: 0ms
time: 1227390487 s 897.636 ms Rel: 0 Axis Index: 0 Value: 0 Timer dt: 0ms
time: 1227390487 s 917.129 ms Rel: 2 Axis Index: 0 Value: -648 Timer dt: 19ms
time: 1227390487 s 917.158 ms Rel: 2 Axis Index: 1 Value: -450 Timer dt: 0ms
time: 1227390487 s 917.164 ms Rel: 2 Axis Index: 2 Value: 450 Timer dt: 1ms
time: 1227390487 s 917.172 ms Rel: 0 Axis Index: 0 Value: 0 Timer dt: 0ms
time: 1227390487 s 956.199 ms Rel: 2 Axis Index: 0 Value: -648 Timer dt: 38ms
time: 1227390487 s 956.223 ms Rel: 2 Axis Index: 1 Value: -450 Timer dt: 0ms
time: 1227390487 s 956.229 ms Rel: 2 Axis Index: 2 Value: 432 Timer dt: 1ms
time: 1227390487 s 956.235 ms Rel: 0 Axis Index: 0 Value: 0 Timer dt: 0ms
time: 1227390488 s 5.068 ms Rel: 2 Axis Index: 0 Value: -630 Timer dt: 51ms
time: 1227390488 s 5.103 ms Rel: 2 Axis Index: 1 Value: -468 Timer dt: 0ms
time: 1227390488 s 5.11 ms Rel: 2 Axis Index: 2 Value: 450 Timer dt: 6ms
time: 1227390488 s 5.117 ms Rel: 0 Axis Index: 0 Value: 0 Timer dt: 0ms
time: 1227390488 s 19.714 ms Rel: 2 Axis Index: 0 Value: -630 Timer dt: 6ms
time: 1227390488 s 19.744 ms Rel: 2 Axis Index: 1 Value: -486 Timer dt: 0ms
time: 1227390488 s 19.75 ms Rel: 2 Axis Index: 2 Value: 450 Timer dt: 0ms
time: 1227390488 s 19.758 ms Rel: 0 Axis Index: 0 Value: 0 Timer dt: 0ms
time: 1227390488 s 36.8 ms Rel: 2 Axis Index: 0 Value: -648 Timer dt: 17ms
time: 1227390488 s 36.824 ms Rel: 2 Axis Index: 1 Value: -468 Timer dt: 0ms
time: 1227390488 s 36.829 ms Rel: 2 Axis Index: 2 Value: 450 Timer dt: 0ms
time: 1227390488 s 36.836 ms Rel: 0 Axis Index: 0 Value: 0 Timer dt: 0ms
time: 1227390488 s 110.09 ms Rel: 2 Axis Index: 0 Value: -612 Timer dt: 77ms
time: 1227390488 s 110.134 ms Rel: 2 Axis Index: 1 Value: -468 Timer dt: 1ms
time: 1227390488 s 110.14 ms Rel: 2 Axis Index: 2 Value: 432 Timer dt: 0ms
time: 1227390488 s 110.147 ms Rel: 0 Axis Index: 0 Value: 0 Timer dt: 0ms
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.openmoko.org/pipermail/devel/attachments/20081126/aea160e9/attachment-0001.htm
More information about the devel
mailing list