diff options
| author | Keith Packard <keithp@keithp.com> | 2017-08-24 16:45:54 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2017-08-27 17:38:58 -0700 | 
| commit | cf20e213f39fb24f15e0ac94307c2d138fcadecb (patch) | |
| tree | 49914763b691edb7164c762a49798294ad9c4350 /src/kernel/ao_sample.c | |
| parent | 43e2275250d9c91560a770942f3c06a8f74ed501 (diff) | |
altos: Perform time comparisons using 16-bit arithmetic to handle wrap
Subtracting two 16-bit unsigned values to perform time comparisons
yields mystic results unless we carefully cast that to int16_t.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/kernel/ao_sample.c')
| -rw-r--r-- | src/kernel/ao_sample.c | 2 | 
1 files changed, 1 insertions, 1 deletions
| diff --git a/src/kernel/ao_sample.c b/src/kernel/ao_sample.c index 90ea07ad..f0ab0169 100644 --- a/src/kernel/ao_sample.c +++ b/src/kernel/ao_sample.c @@ -180,7 +180,7 @@ static void  ao_sample_rotate(void)  {  #ifdef AO_FLIGHT_TEST -	float	dt = (ao_sample_tick - ao_sample_prev_tick) / TIME_DIV; +	float	dt = (int16_t) (ao_sample_tick - ao_sample_prev_tick) / TIME_DIV;  #else  	static const float dt = 1/TIME_DIV;  #endif | 
