/* Combine with previous reading */
if (has_read)
{
- accel.x = ax * 0.4f + accel.x * 0.6f;
- accel.y = ay * 0.4f + accel.y * 0.6f;
+ accel.x = ax * 0.2f + accel.x * 0.8f;
+ accel.y = ay * 0.2f + accel.y * 0.8f;
+ accel.z = az * 0.2f + accel.z * 0.8f;
}
else
+ {
+ accel.x = ax;
+ accel.y = ay;
+ accel.z = az;
has_read = 1;
+ }
return i == 3 ? 1 : 0;
}
float tilt_get_x(void)
{
- return asinf(accel.y / 1000.0f) * 180.0f / M_PI;
+ return atan2f(accel.y, -accel.z) * 180.0f / M_PI;
}
float tilt_get_z(void)
{
- return asinf(-accel.x / 1000.0f) * 180.0f / M_PI;
+ return atan2f(-accel.x, -accel.z) * 180.0f / M_PI;
}
+