diff options
-rw-r--r-- | common/mag_cal.c | 6 | ||||
-rw-r--r-- | test/mag_cal.c | 12 |
2 files changed, 9 insertions, 9 deletions
diff --git a/common/mag_cal.c b/common/mag_cal.c index 1dc40e34db..f7b1945933 100644 --- a/common/mag_cal.c +++ b/common/mag_cal.c @@ -132,9 +132,9 @@ int mag_cal_update(struct mag_cal_t *moc, const intv3_t v) /* 4. Kasa sphere fitting */ kasa_compute(&moc->kasa_fit, bias, &radius); if (radius > MIN_FIT_MAG && radius < MAX_FIT_MAG) { - moc->bias[X] = FP_TO_INT(bias[X]); - moc->bias[Y] = FP_TO_INT(bias[Y]); - moc->bias[Z] = FP_TO_INT(bias[Z]); + moc->bias[X] = -FP_TO_INT(bias[X]); + moc->bias[Y] = -FP_TO_INT(bias[Y]); + moc->bias[Z] = -FP_TO_INT(bias[Z]); moc->radius = radius; diff --git a/test/mag_cal.c b/test/mag_cal.c index e1931c352a..65ffa13d8f 100644 --- a/test/mag_cal.c +++ b/test/mag_cal.c @@ -62,9 +62,9 @@ static int test_mag_cal_computes_bias(void) /* Add the final sample and check calibration. */ TEST_EQ(1, mag_cal_update(&cal, samples[cal.batch_size - 1]), "%d"); TEST_EQ(525, FP_TO_INT(cal.radius), "%d"); - TEST_EQ(-1, cal.bias[0], "%d"); - TEST_EQ(1, cal.bias[1], "%d"); - TEST_EQ(-2, cal.bias[2], "%d"); + TEST_EQ(1, cal.bias[0], "%d"); + TEST_EQ(-1, cal.bias[1], "%d"); + TEST_EQ(2, cal.bias[2], "%d"); /* * State should have reset, run the same code again to verify that @@ -74,9 +74,9 @@ static int test_mag_cal_computes_bias(void) TEST_EQ(0, mag_cal_update(&cal, samples[i]), "%d"); TEST_EQ(1, mag_cal_update(&cal, samples[cal.batch_size - 1]), "%d"); TEST_EQ(525, FP_TO_INT(cal.radius), "%d"); - TEST_EQ(-1, cal.bias[0], "%d"); - TEST_EQ(1, cal.bias[1], "%d"); - TEST_EQ(-2, cal.bias[2], "%d"); + TEST_EQ(1, cal.bias[0], "%d"); + TEST_EQ(-1, cal.bias[1], "%d"); + TEST_EQ(2, cal.bias[2], "%d"); return EC_SUCCESS; } |