Apply compass filter only on devices that need it
wether the filter is applied is defined in BoardConfig.mk
Change-Id: I32eedb82e7b42c8a7adc44352d981dca9ce6a986
diff --git a/mlsdk/Android.mk b/mlsdk/Android.mk
index 79b8f4b..30b9104 100644
--- a/mlsdk/Android.mk
+++ b/mlsdk/Android.mk
@@ -46,6 +46,12 @@
LOCAL_CFLAGS += -I$(LOCAL_PATH)/$(MLSDK_ROOT)/mllite/akmd
LOCAL_CFLAGS += -I$(LOCAL_PATH)/$(MLPLATFORM_DIR)/linux
+# optionally apply the compass filter. this is set in
+# BoardConfig.mk
+ifeq ($(BOARD_INVENSENSE_APPLY_COMPASS_NOISE_FILTER),true)
+LOCAL_CFLAGS += -DAPPLY_COMPASS_FILTER
+endif
+
ML_SOURCES = \
$(MLLITE_DIR)/accel.c \
$(MLLITE_DIR)/compass.c \
diff --git a/mlsdk/mllite/mlsupervisor.c b/mlsdk/mllite/mlsupervisor.c
index cbd4ac4..8a23ab6 100644
--- a/mlsdk/mllite/mlsupervisor.c
+++ b/mlsdk/mllite/mlsupervisor.c
@@ -431,6 +431,7 @@
}
}
+#ifdef APPLY_COMPASS_FILTER
if (inv_get_compass_id() == COMPASS_ID_YAS530)
{
fcin[0] = 1000*((float)inv_obj.compass_calibrated_data[0] /65536.f);
@@ -443,7 +444,7 @@
inv_obj.compass_calibrated_data[1] = (long)(fcout[1]*65536.f/1000.f);
inv_obj.compass_calibrated_data[2] = (long)(fcout[2]*65536.f/1000.f);
}
-
+#endif
if (SUPERVISOR_DEBUG) {
MPL_LOGI("RM : %+10.6f %+10.6f %+10.6f\n",