diff options
author | Keith Packard <keithp@keithp.com> | 2014-07-10 17:18:38 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2014-07-10 17:35:44 -0700 |
commit | 013e9ccfbe76dc46e8c69ea314950bed83d9a39f (patch) | |
tree | 5cc6ca1679f23e89074bd65457f74d8ce31aaf13 /src/kernel/ao_flight.c | |
parent | 31ae24b5da3e198e7555ea3768d3cbdec3a28a5f (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_flight.c')
-rw-r--r-- | src/kernel/ao_flight.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/kernel/ao_flight.c b/src/kernel/ao_flight.c index 2b433ee9..251dbc02 100644 --- a/src/kernel/ao_flight.c +++ b/src/kernel/ao_flight.c @@ -60,10 +60,10 @@ __xdata uint8_t ao_sensor_errors; * resting */ static __data uint16_t ao_interval_end; -static __data int16_t ao_interval_min_height; -static __data int16_t ao_interval_max_height; +static __data ao_v_t ao_interval_min_height; +static __data ao_v_t ao_interval_max_height; #if HAS_ACCEL -static __data int16_t ao_coast_avg_accel; +static __data ao_v_t ao_coast_avg_accel; #endif __pdata uint8_t ao_flight_force_idle; @@ -398,14 +398,14 @@ ao_flight(void) } #if HAS_FLIGHT_DEBUG -static inline int int_part(int16_t i) { return i >> 4; } -static inline int frac_part(int16_t i) { return ((i & 0xf) * 100 + 8) / 16; } +static inline int int_part(ao_v_t i) { return i >> 4; } +static inline int frac_part(ao_v_t i) { return ((i & 0xf) * 100 + 8) / 16; } static void ao_flight_dump(void) { #if HAS_ACCEL - int16_t accel; + ao_v_t accel; accel = ((ao_config.accel_plus_g - ao_sample_accel) * ao_accel_scale) >> 16; #endif |