accel = new HandleAccelerometer();
mSensorManager.registerListener(accel, mGravity, SensorManager.SENSOR_DELAY_GAME);
if (motion_speed_publ == null)
- motion_speed_publ = new MotionSpeedPublish(mGravity.getMaximumRange(),appDomain);
+ motion_speed_publ = new MotionSpeedPublish(appDomain);
motion_speed_publ.start();
speed_publ_item = item;
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
private short[] speed = new short[2];
private boolean isCancelled = true;
- private float maxRange;
+ private float a2sRatio = 9.81f;
private float[] accelData = new float[2];
private float[] accelNew = new float[2];
private SpeedMotionType speedmsg;
private final ReadLock rcLock = controlRrwl.readLock();
private final WriteLock wcLock = controlRrwl.writeLock();
- public MotionSpeedPublish(float maxRange, DomainApp appDomain) {
- this.maxRange = maxRange;
+ public MotionSpeedPublish(DomainApp appDomain) {
this.appDomain = appDomain;
NtpTime persistence = new NtpTime(3);
double angle = 0, length, v, omega;
- v = (double)mAccel[1]/maxRange;
- omega = (double)mAccel[0]/maxRange;
+ v = (double)mAccel[1]/a2sRatio;
+ omega = (double)mAccel[0]/a2sRatio;
length = Math.sqrt(Math.pow(v,2) + Math.pow(omega,2));
if (length >= 1) {
angle = Math.atan2(mAccel[1], mAccel[0]);