Set version to 1.5.9.1
[fw/altos] / src / kernel / ao_config.c
index 8dab7c42ad4ae06366f1364d1e7013aca1fd75a2..83a8cd77092e7449509ee75fa7d38907c2c18c46 100644 (file)
@@ -388,6 +388,7 @@ ao_config_accel_calibrate_auto(char *orientation) __reentrant
        uint16_t        i;
        int32_t         accel_total;
        uint8_t         cal_data_ring;
+       int16_t         min = 32767, max = -32768;
 #if HAS_GYRO
        int32_t         accel_along_total = 0;
        int32_t         accel_across_total = 0;
@@ -405,7 +406,10 @@ ao_config_accel_calibrate_auto(char *orientation) __reentrant
        while (i) {
                ao_sleep(DATA_TO_XDATA(&ao_sample_data));
                while (i && cal_data_ring != ao_sample_data) {
-                       accel_total += (int32_t) ao_data_accel(&ao_data_ring[cal_data_ring]);
+                       int16_t v = ao_data_accel(&ao_data_ring[cal_data_ring]);
+                       accel_total += (int32_t) v;
+                       if (v < min) min = v;
+                       if (v > max) max = v;
 #if HAS_GYRO
                        accel_along_total += (int32_t) ao_data_along(&ao_data_ring[cal_data_ring]);
                        accel_across_total += (int32_t) ao_data_across(&ao_data_ring[cal_data_ring]);
@@ -420,6 +424,7 @@ ao_config_accel_calibrate_auto(char *orientation) __reentrant
        accel_cal_across = accel_across_total >> ACCEL_CALIBRATE_SHIFT;
        accel_cal_through = accel_through_total >> ACCEL_CALIBRATE_SHIFT;
 #endif
+       printf ("total %d min %d max %d\n", accel_total, min, max);
        return accel_total >> ACCEL_CALIBRATE_SHIFT;
 }