我正在尝试校准加速度计,但我无法获得校准所需的6个不同加速度读数的6个样本值。PreliminaryW是一个double [6] [3]数组,用于填充这些样本值。它是6乘以3,因为每个加速度读数都有x,y和z分量。
我计划通过在6个不同的加速度读数处按下按钮来对它们进行采样。这个按钮使“calibrate”变为true。
当然,我首先要将“calibrating”设置为true来启动此线程。
出于某种难以理解的原因,preliminaryW [i] = currentAcc似乎会从0到i使用相同的值填充,而不是只有i。我确保每次按下“校准”按钮时,currentAcc都是不同的。
我的代码有什么问题吗?
我计划通过在6个不同的加速度读数处按下按钮来对它们进行采样。这个按钮使“calibrate”变为true。
当然,我首先要将“calibrating”设置为true来启动此线程。
出于某种难以理解的原因,preliminaryW [i] = currentAcc似乎会从0到i使用相同的值填充,而不是只有i。我确保每次按下“校准”按钮时,currentAcc都是不同的。
我的代码有什么问题吗?
public synchronized void run() {
Log.d(TAG, "+ in Calibrator thread +");
int i = -1;
while (calibrating) {
if (calibrate) {
i = i + 1;
calibrate = false;
preliminaryW[i] = currentAcc;
if (i == 5) {
calibrating = false;
}
}
}
}