altos: Fix up HAS_FLIGHT_DEBUG
[fw/altos] / src / kernel / ao_flight.c
index 2142546c9b0737b186cca6f6dce65fa51c8e30ec..4a7055c415e80d9eef3d86eacae715ce4f8b416b 100644 (file)
@@ -102,6 +102,10 @@ uint8_t                    ao_flight_force_idle;
 
 #define abs(a) ((a) < 0 ? -(a) : (a))
 
+#if !HAS_BARO
+// #define DEBUG_ACCEL_ONLY    1
+#endif
+
 void
 ao_flight(void)
 {
@@ -127,8 +131,8 @@ ao_flight(void)
 #if HAS_ACCEL
                        if (ao_config.accel_plus_g == 0 ||
                            ao_config.accel_minus_g == 0 ||
-                           ao_ground_accel < ao_config.accel_plus_g - ACCEL_NOSE_UP ||
-                           ao_ground_accel > ao_config.accel_minus_g + ACCEL_NOSE_UP
+                           ao_ground_accel < (accel_t) ao_config.accel_plus_g - ACCEL_NOSE_UP ||
+                           ao_ground_accel > (accel_t) ao_config.accel_minus_g + ACCEL_NOSE_UP
 #if HAS_BARO
                            || ao_ground_height < -1000 ||
                            ao_ground_height > 7000
@@ -200,6 +204,15 @@ ao_flight(void)
                        ao_wakeup(&ao_flight_state);
 
                        break;
+
+#if DEBUG_ACCEL_ONLY
+               case ao_flight_invalid:
+               case ao_flight_idle:
+                       printf("+g %d ga %d sa %d accel %ld speed %ld\n",
+                              ao_config.accel_plus_g, ao_ground_accel, ao_sample_accel, ao_accel, ao_speed);
+                       break;
+#endif
+
                case ao_flight_pad:
                        /* pad to boost:
                         *
@@ -216,8 +229,8 @@ ao_flight(void)
                         */
                        if (ao_height > AO_M_TO_HEIGHT(20)
 #if HAS_ACCEL
-                           || (ao_accel > AO_MSS_TO_ACCEL(20) &&
-                               ao_speed > AO_MS_TO_SPEED(5))
+                           || (ao_accel > AO_MSS_TO_ACCEL(20)
+                               && ao_speed > AO_MS_TO_SPEED(5))
 #endif
                                )
                        {
@@ -448,7 +461,7 @@ ao_flight(void)
 #if HAS_FLIGHT_DEBUG
                case ao_flight_test:
 #if HAS_GYRO
-                       printf ("angle %4d pitch %7d yaw %7d roll %7d\n",
+                       printf ("angle %4d pitch %7ld yaw %7ld roll %7ld\n",
                                ao_sample_orient,
                                ((ao_sample_pitch << 9) - ao_ground_pitch) >> 9,
                                ((ao_sample_yaw << 9) - ao_ground_yaw) >> 9,
@@ -479,14 +492,14 @@ ao_flight_dump(void)
        printf ("sample:\n");
        printf ("  tick        %d\n", ao_sample_tick);
 #if HAS_BARO
-       printf ("  raw pres    %d\n", ao_sample_pres);
+       printf ("  raw pres    %ld\n", ao_sample_pres);
 #endif
 #if HAS_ACCEL
        printf ("  raw accel   %d\n", ao_sample_accel);
 #endif
 #if HAS_BARO
-       printf ("  ground pres %d\n", ao_ground_pres);
-       printf ("  ground alt  %d\n", ao_ground_height);
+       printf ("  ground pres %ld\n", ao_ground_pres);
+       printf ("  ground alt  %ld\n", ao_ground_height);
 #endif
 #if HAS_ACCEL
        printf ("  raw accel   %d\n", ao_sample_accel);
@@ -495,8 +508,8 @@ ao_flight_dump(void)
 #endif
 
 #if HAS_BARO
-       printf ("  alt         %d\n", ao_sample_alt);
-       printf ("  height      %d\n", ao_sample_height);
+       printf ("  alt         %ld\n", ao_sample_alt);
+       printf ("  height      %ld\n", ao_sample_height);
 #endif
 
 #if HAS_ACCEL
@@ -505,12 +518,12 @@ ao_flight_dump(void)
 
 
        printf ("kalman:\n");
-       printf ("  height      %d\n", ao_height);
+       printf ("  height      %ld\n", ao_height);
        printf ("  speed       %d.%02d\n", int_part(ao_speed), frac_part(ao_speed));
        printf ("  accel       %d.%02d\n", int_part(ao_accel), frac_part(ao_accel));
-       printf ("  max_height  %d\n", ao_max_height);
-       printf ("  avg_height  %d\n", ao_avg_height);
-       printf ("  error_h     %d\n", ao_error_h);
+       printf ("  max_height  %ld\n", ao_max_height);
+       printf ("  avg_height  %ld\n", ao_avg_height);
+       printf ("  error_h     %ld\n", ao_error_h);
 #if !HAS_ACCEL
        printf ("  error_avg   %d\n", ao_error_h_sq_avg);
 #endif
@@ -530,6 +543,7 @@ static void
 ao_orient_test_select(void)
 {
        ao_orient_test = !ao_orient_test;
+       printf("orient test %d\n", ao_orient_test);
 }
 
 const struct ao_cmds ao_flight_cmds[] = {