projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add flash loader for stm-demo board
[fw/altos]
/
src
/
core
/
ao_kalman.c
diff --git
a/src/core/ao_kalman.c
b/src/core/ao_kalman.c
index 68725f6978bf4c9cf3dc45b9ae97065624dde3ae..9aea1f14762f6139d9fb8dce932b98a6c946068d 100644
(file)
--- a/
src/core/ao_kalman.c
+++ b/
src/core/ao_kalman.c
@@
-40,9
+40,9
@@
static __pdata int32_t ao_k_accel;
__pdata int16_t ao_height;
__pdata int16_t ao_speed;
__pdata int16_t ao_accel;
__pdata int16_t ao_height;
__pdata int16_t ao_speed;
__pdata int16_t ao_accel;
-__
p
data int16_t ao_max_height;
+__
x
data int16_t ao_max_height;
static __pdata int32_t ao_avg_height_scaled;
static __pdata int32_t ao_avg_height_scaled;
-__
p
data int16_t ao_avg_height;
+__
x
data int16_t ao_avg_height;
__pdata int16_t ao_error_h;
__pdata int16_t ao_error_h_sq_avg;
__pdata int16_t ao_error_h;
__pdata int16_t ao_error_h_sq_avg;
@@
-166,12
+166,13
@@
ao_kalman_err_accel(void)
{
int32_t accel;
{
int32_t accel;
- accel = (ao_
ground_accel
- ao_sample_accel) * ao_accel_scale;
+ accel = (ao_
config.accel_plus_g
- ao_sample_accel) * ao_accel_scale;
/* Can't use ao_accel here as it is the pre-prediction value still */
ao_error_a = (accel - ao_k_accel) >> 16;
}
/* Can't use ao_accel here as it is the pre-prediction value still */
ao_error_a = (accel - ao_k_accel) >> 16;
}
+#ifndef FORCE_ACCEL
static void
ao_kalman_correct_both(void)
{
static void
ao_kalman_correct_both(void)
{
@@
-242,7
+243,8
@@
ao_kalman_correct_both(void)
(int32_t) AO_BOTH_K21_100 * ao_error_a;
}
(int32_t) AO_BOTH_K21_100 * ao_error_a;
}
-#ifdef FORCE_ACCEL
+#else
+
static void
ao_kalman_correct_accel(void)
{
static void
ao_kalman_correct_accel(void)
{
@@
-258,7
+260,8
@@
ao_kalman_correct_accel(void)
ao_k_speed += (int32_t) AO_ACCEL_K1_100 * ao_error_a;
ao_k_accel += (int32_t) AO_ACCEL_K2_100 * ao_error_a;
}
ao_k_speed += (int32_t) AO_ACCEL_K1_100 * ao_error_a;
ao_k_accel += (int32_t) AO_ACCEL_K2_100 * ao_error_a;
}
-#endif
+
+#endif /* else FORCE_ACCEL */
#endif /* HAS_ACCEL */
void
#endif /* HAS_ACCEL */
void
@@
-289,7
+292,4
@@
ao_kalman(void)
else
#endif
ao_avg_height = (ao_avg_height_scaled + 63) >> 7;
else
#endif
ao_avg_height = (ao_avg_height_scaled + 63) >> 7;
-#ifdef AO_FLIGHT_TEST
- ao_sample_prev_tick = ao_sample_tick;
-#endif
}
}