altos: Switch all tick variables to AO_TICK_TYPE/AO_TICK_SIGNED
[fw/altos] / src / kernel / ao_sample.h
index 4c51a58c3f0a0089f893f3004a239b3e37d7b3cf..ad7c50eff49081aa4050b9da9f49a87dde4047a2 100644 (file)
@@ -115,7 +115,7 @@ typedef int16_t                     ao_v_t;
 #define AO_MS_TO_SPEED(ms)     ((ao_v_t) ((ms) * 16))
 #define AO_MSS_TO_ACCEL(mss)   ((ao_v_t) ((mss) * 16))
 
-extern uint16_t        ao_sample_tick;         /* time of last data */
+extern AO_TICK_TYPE ao_sample_tick;            /* time of last data */
 extern uint8_t ao_sample_adc;          /* Ring position of last processed sample */
 extern uint8_t ao_sample_data;         /* Ring position of last processed sample */
 
@@ -133,16 +133,21 @@ extern accel_t    ao_ground_accel;        /* startup acceleration */
 extern accel_t         ao_accel_2g;            /* factory accel calibration */
 extern int32_t ao_accel_scale;         /* sensor to m/s² conversion */
 #endif
-#if HAS_GYRO
+#if HAS_IMU
 extern accel_t ao_ground_accel_along;
 extern accel_t ao_ground_accel_across;
 extern accel_t ao_ground_accel_through;
-extern int32_t ao_ground_pitch;        /* * 512 */
-extern int32_t ao_ground_yaw;          /* * 512 */
-extern int32_t ao_ground_roll;         /* * 512 */
 extern accel_t ao_sample_accel_along;
 extern accel_t ao_sample_accel_across;
 extern accel_t ao_sample_accel_through;
+#endif
+#if HAS_GYRO
+#ifndef HAS_IMU
+#define HAS_IMU        1
+#endif
+extern int32_t ao_ground_pitch;        /* * 512 */
+extern int32_t ao_ground_yaw;          /* * 512 */
+extern int32_t ao_ground_roll;         /* * 512 */
 extern gyro_t  ao_sample_roll;
 extern gyro_t  ao_sample_pitch;
 extern gyro_t  ao_sample_yaw;
@@ -151,6 +156,10 @@ extern angle_t     ao_sample_orient;
 extern angle_t ao_sample_orients[AO_NUM_ORIENT];
 extern uint8_t ao_sample_orient_pos;
 #endif
+#if HAS_MOTOR_PRESSURE
+extern motor_pressure_t ao_ground_motor_pressure;
+extern motor_pressure_t ao_sample_motor_pressure;
+#endif
 
 void ao_sample_init(void);
 
@@ -194,4 +203,8 @@ extern ao_v_t                       ao_error_a;
 
 void ao_kalman(void);
 
+#if !HAS_BARO
+void ao_kalman_reset_accumulate(void);
+#endif
+
 #endif /* _AO_SAMPLE_H_ */