Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit344654e

Browse files
#31 - Incremental tolerance for resetting criteria
1 parent5761a55 commit344654e

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

‎app/src/main/java/eu/basicairdata/clinometer/CalibrationActivity.java‎

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public class CalibrationActivity extends AppCompatActivity implements SensorEven
6363
privateVibratorvibrator;
6464

6565
privatefinalstaticintACCELEROMETER_UPDATE_INTERVAL_MICROS =10000;
66-
privatefinalstaticfloatMIN_CALIBRATION_PRECISION =0.15f;
66+
privatefinalstaticfloatMIN_CALIBRATION_PRECISION =0.05f;
6767
privatefinalstaticintSIZE_OF_MEANVARIANCE =300;// 4 seconds
6868

6969

@@ -77,6 +77,8 @@ public class CalibrationActivity extends AppCompatActivity implements SensorEven
7777
privatefinalfloat[]calibrationGain =newfloat[3];// The Gains of accelerometers
7878
privatefinalfloat[]calibrationAngle =newfloat[3];// The calibration angles
7979

80+
privatefloatcalibrationPrecisionIncrement =0;// The increment of the MIN_CALIBRATION_PRECISION in case of calibration reset
81+
8082
privateAppCompatButtonbuttonNext;
8183
privateProgressBarprogressBar;
8284
privateImageViewimageViewMain;
@@ -441,7 +443,7 @@ public void onSensorChanged(SensorEvent event) {
441443
getString(R.string.calibration_tolerance),
442444
mvGravity0.getTolerance()));
443445
intprogress1 = (int) (10 *mvGravity0.percentLoaded());
444-
intprogress2 = (int) (Math.min(1000,Math.max(0,1000 -1000 *(mvGravity0.getTolerance() /MIN_CALIBRATION_PRECISION))));
446+
intprogress2 = (int) (Math.min(1000,Math.max(0,1000 -1000 *(mvGravity0.getTolerance() /(MIN_CALIBRATION_PRECISION +calibrationPrecisionIncrement)))));
445447
progressBar.setSecondaryProgress(Math.max(progress1,progress2));
446448
progressBar.setProgress(Math.min(progress1,progress2));
447449

@@ -452,13 +454,17 @@ public void onSensorChanged(SensorEvent event) {
452454

453455
//if (mvGravity0.isReady() && (mvGravity0.getTolerance() > MIN_CALIBRATION_PRECISION)) {
454456
if (mvGravity0.isReady() && (
455-
(Math.abs(mvGravity0.getMeanValue() -event.values[0]) >MIN_CALIBRATION_PRECISION) ||
456-
(Math.abs(mvGravity1.getMeanValue() -event.values[1]) >MIN_CALIBRATION_PRECISION) ||
457-
(Math.abs(mvGravity2.getMeanValue() -event.values[2]) >MIN_CALIBRATION_PRECISION))
457+
(Math.abs(mvGravity0.getMeanValue() -event.values[0]) >(MIN_CALIBRATION_PRECISION +calibrationPrecisionIncrement)) ||
458+
(Math.abs(mvGravity1.getMeanValue() -event.values[1]) >(MIN_CALIBRATION_PRECISION +calibrationPrecisionIncrement)) ||
459+
(Math.abs(mvGravity2.getMeanValue() -event.values[2]) >(MIN_CALIBRATION_PRECISION +calibrationPrecisionIncrement)))
458460
) {
459461
mvGravity0.reset();
460462
mvGravity1.reset();
461463
mvGravity2.reset();
464+
if (calibrationPrecisionIncrement <0.15f)calibrationPrecisionIncrement +=0.01f;
465+
//Log.d("Clinometer",String.format("[#] Mean value = %+1.5f Reading = %+1.5f Difference = %+1.5f", mvGravity0.getMeanValue(), event.values[0], mvGravity0.getMeanValue() - event.values[0]));
466+
Log.d("Clinometer",String.format("[#] New calibration precision = %+1.5f",MIN_CALIBRATION_PRECISION +calibrationPrecisionIncrement));
467+
462468
}
463469

464470
// END OF CALIBRATION STEP
@@ -474,6 +480,8 @@ public void onSensorChanged(SensorEvent event) {
474480

475481
beep();
476482

483+
calibrationPrecisionIncrement =0;
484+
477485
currentStep++;
478486
startStep();
479487
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp