From: Keith Packard Date: Sat, 7 Apr 2012 07:25:26 +0000 (-0700) Subject: altos: Make ao_freq_to_set reentrant X-Git-Tag: 1.0.9.5~79 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=c7119405a3dd7128120374a2a001bc98ef523619 altos: Make ao_freq_to_set reentrant Save a bunch of data space this way. Signed-off-by: Keith Packard --- diff --git a/src/core/ao.h b/src/core/ao.h index 67efa437..150c0817 100644 --- a/src/core/ao.h +++ b/src/core/ao.h @@ -1892,7 +1892,7 @@ ao_sqrt(uint32_t op); * ao_freq.c */ -int32_t ao_freq_to_set(int32_t freq, int32_t cal); +int32_t ao_freq_to_set(int32_t freq, int32_t cal) __reentrant; #include diff --git a/src/core/ao_freq.c b/src/core/ao_freq.c index 67b0b037..12496f6f 100644 --- a/src/core/ao_freq.c +++ b/src/core/ao_freq.c @@ -25,10 +25,15 @@ * frequency, and updating the radio setting along the way */ -int32_t ao_freq_to_set(int32_t freq, int32_t cal) { - __pdata int32_t set = 0; - uint8_t neg = 0; - __pdata int32_t error = -434550 / 2; +int32_t ao_freq_to_set(int32_t freq, int32_t cal) __reentrant +{ + static __pdata int32_t set; + static __pdata uint8_t neg; + static __pdata int32_t error; + + set = 0; + neg = 0; + error = -434550 / 2; if ((freq -= 434550) < 0) { neg = 1;