From 119e5c53abb046cfe57de07443c745700dffedb1 Mon Sep 17 00:00:00 2001 From: imrajat7 Date: Fri, 30 Nov 2018 22:06:12 +0530 Subject: [PATCH] magnetic field indicators fixed in compass activity --- .../io/pslab/activity/CompassActivity.java | 27 +++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/io/pslab/activity/CompassActivity.java b/app/src/main/java/io/pslab/activity/CompassActivity.java index 455cbb33f..408785857 100644 --- a/app/src/main/java/io/pslab/activity/CompassActivity.java +++ b/app/src/main/java/io/pslab/activity/CompassActivity.java @@ -56,7 +56,7 @@ public class CompassActivity extends AppCompatActivity implements SensorEventLis @BindView(R.id.tv_sensor_hmc5883l_by) TextView yAxisMagneticField; @BindView(R.id.tv_sensor_hmc5883l_bz) - TextView zAxismagneticField; + TextView zAxisMagneticField; @BindView(R.id.compass_toolbar) Toolbar mToolbar; @@ -162,20 +162,22 @@ public void onSensorChanged(SensorEvent event) { float degree; switch (direction) { case 0: - degree = Math.round(event.values[1]); + degree = Math.round(event.values[0]); if (degree < 0) degree += 360; break; case 1: - degree = Math.round(event.values[2]); + degree = Math.round(event.values[1]); if (degree < 0) degree += 360; break; case 2: - degree = Math.round(event.values[0]); + degree = Math.round(event.values[2]); + if (degree < 0) + degree += 360; break; default: - degree = Math.round(event.values[1]); + degree = Math.round(event.values[0]); break; } @@ -183,6 +185,21 @@ public void onSensorChanged(SensorEvent event) { degreeIndicator.setText(String.valueOf(degree)); currentDegree = -degree; + + degree = Math.round(event.values[0]); + if (degree < 0) + degree += 360; + xAxisMagneticField.setText(String.valueOf(degree)); + + degree = Math.round(event.values[1]); + if (degree < 0) + degree += 360; + yAxisMagneticField.setText(String.valueOf(degree)); + + degree = Math.round(event.values[2]); + if (degree < 0) + degree += 360; + zAxisMagneticField.setText(String.valueOf(degree)); } @Override