summaryrefslogtreecommitdiff
path: root/src/kernel/ao_microkalman.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-07-10 17:18:38 -0700
committerKeith Packard <keithp@keithp.com>2014-07-10 17:35:44 -0700
commit013e9ccfbe76dc46e8c69ea314950bed83d9a39f (patch)
tree5cc6ca1679f23e89074bd65457f74d8ce31aaf13 /src/kernel/ao_microkalman.c
parent31ae24b5da3e198e7555ea3768d3cbdec3a28a5f (diff)
altos: Use 32-bits for flight state data (alt/speed/accel)
Stores 32-bits for all of the flight parameters. Uses 64-bit intermediates for kalman computation. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/kernel/ao_microkalman.c')
-rw-r--r--src/kernel/ao_microkalman.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/kernel/ao_microkalman.c b/src/kernel/ao_microkalman.c
index 0684ea2b..75a29cc4 100644
--- a/src/kernel/ao_microkalman.c
+++ b/src/kernel/ao_microkalman.c
@@ -22,19 +22,19 @@
#define FIX_BITS 16
-#define to_fix16(x) ((int16_t) ((x) * 65536.0 + 0.5))
-#define to_fix32(x) ((int32_t) ((x) * 65536.0 + 0.5))
+#define to_fix_v(x) ((int16_t) ((x) * 65536.0 + 0.5))
+#define to_fix_k(x) ((int32_t) ((x) * 65536.0 + 0.5))
#define from_fix8(x) ((x) >> 8)
#define from_fix(x) ((x) >> 16)
-#define fix8_to_fix16(x) ((x) << 8)
+#define fix8_to_fix_v(x) ((x) << 8)
#define fix16_to_fix8(x) ((x) >> 8)
#include <ao_kalman.h>
/* Basic time step (96ms) */
-#define AO_MK_STEP to_fix16(0.096)
+#define AO_MK_STEP to_fix_v(0.096)
/* step ** 2 / 2 */
-#define AO_MK_STEP_2_2 to_fix16(0.004608)
+#define AO_MK_STEP_2_2 to_fix_v(0.004608)
uint32_t ao_k_pa; /* 24.8 fixed point */
int32_t ao_k_pa_speed; /* 16.16 fixed point */
@@ -49,7 +49,7 @@ ao_microkalman_init(void)
{
ao_pa = pa;
ao_k_pa = pa << 8;
-}
+}
void
ao_microkalman_predict(void)