projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos: Remove ao_led_toggle API from general code
[fw/altos]
/
src
/
kernel
/
ao_sample.c
diff --git
a/src/kernel/ao_sample.c
b/src/kernel/ao_sample.c
index 9cba36c1004b37ec31717e7c4431e08ede4bf615..67f20aff9093b5941a3ccee9ffc5e6e752f96479 100644
(file)
--- a/
src/kernel/ao_sample.c
+++ b/
src/kernel/ao_sample.c
@@
-36,9
+36,11
@@
#endif
uint16_t ao_sample_tick; /* time of last data */
#endif
uint16_t ao_sample_tick; /* time of last data */
+#if HAS_BARO
pres_t ao_sample_pres;
alt_t ao_sample_alt;
alt_t ao_sample_height;
pres_t ao_sample_pres;
alt_t ao_sample_alt;
alt_t ao_sample_height;
+#endif
#if HAS_ACCEL
accel_t ao_sample_accel;
#endif
#if HAS_ACCEL
accel_t ao_sample_accel;
#endif
@@
-60,8
+62,10
@@
uint8_t ao_sample_data;
* Sensor calibration values
*/
* Sensor calibration values
*/
+#if HAS_BARO
pres_t ao_ground_pres; /* startup pressure */
alt_t ao_ground_height; /* MSL of ao_ground_pres */
pres_t ao_ground_pres; /* startup pressure */
alt_t ao_ground_height; /* MSL of ao_ground_pres */
+#endif
#if HAS_ACCEL
accel_t ao_ground_accel; /* startup acceleration */
#if HAS_ACCEL
accel_t ao_ground_accel; /* startup acceleration */
@@
-81,7
+85,9
@@
int32_t ao_ground_roll;
static uint8_t ao_preflight; /* in preflight mode */
static uint16_t nsamples;
static uint8_t ao_preflight; /* in preflight mode */
static uint16_t nsamples;
+#if HAS_BARO
int32_t ao_sample_pres_sum;
int32_t ao_sample_pres_sum;
+#endif
#if HAS_ACCEL
int32_t ao_sample_accel_sum;
#endif
#if HAS_ACCEL
int32_t ao_sample_accel_sum;
#endif
@@
-105,7
+111,9
@@
ao_sample_preflight_add(void)
#if HAS_ACCEL
ao_sample_accel_sum += ao_sample_accel;
#endif
#if HAS_ACCEL
ao_sample_accel_sum += ao_sample_accel;
#endif
+#if HAS_BARO
ao_sample_pres_sum += ao_sample_pres;
ao_sample_pres_sum += ao_sample_pres;
+#endif
#if HAS_GYRO
ao_sample_accel_along_sum += ao_sample_accel_along;
ao_sample_accel_across_sum += ao_sample_accel_across;
#if HAS_GYRO
ao_sample_accel_along_sum += ao_sample_accel_along;
ao_sample_accel_across_sum += ao_sample_accel_across;
@@
-171,9
+179,11
@@
ao_sample_preflight_set(void)
ao_ground_accel = ao_sample_accel_sum >> 9;
ao_sample_accel_sum = 0;
#endif
ao_ground_accel = ao_sample_accel_sum >> 9;
ao_sample_accel_sum = 0;
#endif
+#if HAS_BARO
ao_ground_pres = ao_sample_pres_sum >> 9;
ao_ground_height = pres_to_altitude(ao_ground_pres);
ao_sample_pres_sum = 0;
ao_ground_pres = ao_sample_pres_sum >> 9;
ao_ground_height = pres_to_altitude(ao_ground_pres);
ao_sample_pres_sum = 0;
+#endif
#if HAS_GYRO
ao_ground_accel_along = ao_sample_accel_along_sum >> 9;
ao_ground_accel_across = ao_sample_accel_across_sum >> 9;
#if HAS_GYRO
ao_ground_accel_along = ao_sample_accel_along_sum >> 9;
ao_ground_accel_across = ao_sample_accel_across_sum >> 9;
@@
-215,7
+225,10
@@
ao_sample_preflight_set(void)
ao_quaternion_vectors_to_rotation(&ao_rotation, &up, &orient);
#if HAS_FLIGHT_DEBUG
if (ao_orient_test)
ao_quaternion_vectors_to_rotation(&ao_rotation, &up, &orient);
#if HAS_FLIGHT_DEBUG
if (ao_orient_test)
- printf("\n\treset\n");
+ printf("\n\treset across %d through %d along %d\n",
+ (ao_ground_accel_across - ao_config.accel_zero_across),
+ (ao_ground_accel_through - ao_config.accel_zero_through),
+ (ao_ground_accel_along - ao_config.accel_zero_along));
#endif
ao_sample_compute_orient();
#endif
ao_sample_compute_orient();
@@
-338,10
+351,7
@@
ao_sample(void)
#endif
#if HAS_ACCEL
#endif
#if HAS_ACCEL
- ao_sample_accel = ao_data_accel_cook(ao_data);
- if (ao_config.pad_orientation != AO_PAD_ORIENTATION_ANTENNA_UP)
- ao_sample_accel = ao_data_accel_invert(ao_sample_accel);
- ao_data_set_accel(ao_data, ao_sample_accel);
+ ao_sample_accel = ao_data_accel(ao_data);
#endif
#if HAS_GYRO
ao_sample_accel_along = ao_data_along(ao_data);
#endif
#if HAS_GYRO
ao_sample_accel_along = ao_data_along(ao_data);
@@
-375,8
+385,10
@@
ao_sample_init(void)
{
ao_config_get();
nsamples = 0;
{
ao_config_get();
nsamples = 0;
+#if HAS_BARO
ao_sample_pres_sum = 0;
ao_sample_pres = 0;
ao_sample_pres_sum = 0;
ao_sample_pres = 0;
+#endif
#if HAS_ACCEL
ao_sample_accel_sum = 0;
ao_sample_accel = 0;
#if HAS_ACCEL
ao_sample_accel_sum = 0;
ao_sample_accel = 0;