projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos: Use 32-bits for flight state data (alt/speed/accel)
[fw/altos]
/
src
/
kernel
/
ao_microkalman.c
diff --git
a/src/kernel/ao_microkalman.c
b/src/kernel/ao_microkalman.c
index 0684ea2bbaad4b03e747ab6421b83dce885a78b3..75a29cc41d9d7a43e1a817f3d7289717e479a742 100644
(file)
--- a/
src/kernel/ao_microkalman.c
+++ b/
src/kernel/ao_microkalman.c
@@
-22,19
+22,19
@@
#define FIX_BITS 16
#define FIX_BITS 16
-#define to_fix
16
(x) ((int16_t) ((x) * 65536.0 + 0.5))
-#define to_fix
32
(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 from_fix8(x) ((x) >> 8)
#define from_fix(x) ((x) >> 16)
-#define fix8_to_fix
16
(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 fix16_to_fix8(x) ((x) >> 8)
#include <ao_kalman.h>
/* Basic time step (96ms) */
-#define AO_MK_STEP to_fix
16
(0.096)
+#define AO_MK_STEP to_fix
_v
(0.096)
/* step ** 2 / 2 */
/* step ** 2 / 2 */
-#define AO_MK_STEP_2_2 to_fix
16
(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 */
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;
{
ao_pa = pa;
ao_k_pa = pa << 8;
-}
+}
void
ao_microkalman_predict(void)
void
ao_microkalman_predict(void)