diff options
author | Karl Palsson <karlp@tweak.net.au> | 2016-03-30 17:15:06 +0000 |
---|---|---|
committer | Karl Palsson <karlp@tweak.net.au> | 2016-03-30 17:15:06 +0000 |
commit | 614482176cffcdf7f23d022e067a94b0f89ab601 (patch) | |
tree | 0ed646107685c7c504be069063da77135a17d759 | |
parent | fc590297eb56b5705c7879bc33cff6ee37629653 (diff) | |
download | olsndot-614482176cffcdf7f23d022e067a94b0f89ab601.tar.gz olsndot-614482176cffcdf7f23d022e067a94b0f89ab601.tar.bz2 olsndot-614482176cffcdf7f23d022e067a94b0f89ab601.zip |
adc: use single float literals
Dramatic performance improvement on m4f cores, ~1600->80 cycles
-rw-r--r-- | tests/adc-power/adc-power.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/tests/adc-power/adc-power.c b/tests/adc-power/adc-power.c index 97a083a..2d7f310 100644 --- a/tests/adc-power/adc-power.c +++ b/tests/adc-power/adc-power.c @@ -117,12 +117,12 @@ static uint16_t read_adc_naiive(uint8_t channel) } static float adc_calc_tempf(unsigned int ts_v, unsigned int vref) { - float adjusted_vtemp = ts_v * ST_VREFINT_CAL * 1.0 / vref * 1.0; - float slope = (110-30) * 1.0 / (ST_TSENSE_CAL2_110C - ST_TSENSE_CAL1_30C) * 1.0; + float adjusted_vtemp = ts_v * ST_VREFINT_CAL * 1.0f / vref * 1.0f; + float slope = (110-30) * 1.0f / (ST_TSENSE_CAL2_110C - ST_TSENSE_CAL1_30C) * 1.0f; return slope * (adjusted_vtemp - ST_TSENSE_CAL1_30C) + 30; } -static float adc_calc_tempi(uint16_t ts, uint16_t vref) { +static int adc_calc_tempi(unsigned int ts, unsigned int vref) { int adjusted_vtemp = ts * ST_VREFINT_CAL / vref; int slope = (110-30) / (ST_TSENSE_CAL2_110C - ST_TSENSE_CAL1_30C); return slope * (adjusted_vtemp - ST_TSENSE_CAL1_30C) + 30; |