Files
Pi2ezoPlayer/accelerometer.c

44 lines
851 B
C

#include "accelerometer.h"
#include <libgy521.h>
#include <math.h> //for fabs
float acceldata = 0;
int kill = 0;
void setupAccelerometer(void) {
setupgy521();
}
float getaccelerometerdata(void) {
float xyz[] = {getAccelerometerData('x', 1), getAccelerometerData('y', 1), getAccelerometerData('z', 1)};
float temp;
int i, z;
for (i = 0; i < 3; i++) {
for (z = 0; z < 3 - i; z++) {
if (xyz[z] < xyz[z + 1]) {
temp = xyz[z];
xyz[z] = xyz[z + 1];
xyz[z + 1] = temp;
}
}
}
return fabs(xyz[0]); //Absolutwert fuer float
}
int updateAccelerometerValue(void) {
acceldata = getaccelerometerdata();
return kill;
}
void killAccelerometerMeasure(void) {
kill = 1;
}
float getAccelData(void) {
return acceldata;
}