Android Open Source - QuestCompass Compass Filter






From Project

Back to project page QuestCompass.

License

The source code is released under:

Apache License

If you think the Android project QuestCompass listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package de.renard.radar;
/*from  w  w w .  ja v a2s. c  o m*/

public class CompassFilter {

  private static final float SmoothFactorCompass = 0.5f;
  private static final float SmoothThresholdCompass = 30.0f;
  static float sOldCompass = 0.0f;

  public static float filterSensorValue(final float newCompass) {
    if (Math.abs(newCompass - sOldCompass) < 180) {
      if (Math.abs(newCompass - sOldCompass) > SmoothThresholdCompass) {
        sOldCompass = newCompass;
      } else {
        sOldCompass = sOldCompass + SmoothFactorCompass * (newCompass - sOldCompass);
      }
    } else {
      if (360.0 - Math.abs(newCompass - sOldCompass) > SmoothThresholdCompass) {
        sOldCompass = newCompass;
      } else {
        if (sOldCompass > newCompass) {
          sOldCompass = (sOldCompass + SmoothFactorCompass * ((360 + newCompass - sOldCompass) % 360) + 360) % 360;
        } else {
          sOldCompass = (sOldCompass - SmoothFactorCompass * ((360 - newCompass + sOldCompass) % 360) + 360) % 360;
        }
      }
    }
    
    
    return sOldCompass;
  }

}




Java Source Code List

de.renard.radar.CompassFilter.java
de.renard.radar.CompassSensorListener.java
de.renard.radar.LocationAdapter.java
de.renard.radar.LocationDescriptionDialog.java
de.renard.radar.LocationListDaoGenerator.java
de.renard.radar.LocationListDialog.java
de.renard.radar.RadarActivity.java
de.renard.radar.ScreenOrienationEventListener.java
de.renard.radar.SensorDataController.java
de.renard.radar.Util.java
de.renard.radar.map.LocationOverlay.java
de.renard.radar.map.LocationPickActivity.java
de.renard.radar.views.LocationDeleteInterface.java
de.renard.radar.views.RadarView.java
de.renard.radar.views.RotateView.java