From 3d9f5b5b15d7de952a03ff44784ce0e64ef16c21 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20M=C3=A4ki?= Date: Wed, 6 Mar 2013 08:41:44 +0200 Subject: [PATCH] Add precision to printed frequency values and update tests to match When using 0.01 increments fmscan should now print the correct frequencies instead of rounding the values. --- fmscan.c | 12 ++++++------ test-fmscan.at | 42 ++++++++++++++++++++++-------------------- 2 files changed, 28 insertions(+), 26 deletions(-) diff --git a/fmscan.c b/fmscan.c index 2b24f0b..1f800fb 100644 --- a/fmscan.c +++ b/fmscan.c @@ -115,17 +115,17 @@ int main(int argc, char **argv) double max = tuner_get_max_freq(&tuner) / 16000.0; if (begval < min) { begval = min; - printf("Setting start to tuner minimum %.1f MHz\n", + printf("Setting start to tuner minimum %.2f MHz\n", begval); } if (endval > max) { endval = max; - printf("Setting end to tuner maximum %.1f MHz\n", + printf("Setting end to tuner maximum %.2f MHz\n", endval); } } - printf("Scanning range: %2.1f - %2.1f MHz (%2.1f MHz increments)...\n", + printf("Scanning range: %2.2f - %2.2f MHz (%2.2f MHz increments)...\n", begval, endval, incval); for (i = 0; (mhz = begval + i * incval) <= endval; i++) { @@ -143,7 +143,7 @@ int main(int argc, char **argv) tuner_set_freq(&tuner, freq, override); if (!quiet) { - printf("%2.1f:\r", mhz); + printf("%2.2f:\r", mhz); fflush(stdout); } tuner_usleep(&tuner, LOCKTIME); @@ -153,7 +153,7 @@ int main(int argc, char **argv) totsig += tuner_get_signal(&tuner); perc = totsig / (65535.0 * (i + 1)); if (!quiet) { - printf("%2.1f: checking: %3.1f%% (%d/%d)" + printf("%2.2f: checking: %3.1f%% (%d/%d)" " \r", mhz, perc * 100.0, i + 1, tries); fflush(stdout); @@ -168,7 +168,7 @@ int main(int argc, char **argv) perc = totsig / (65535.0 * tries); if (perc > threshold) - printf("%2.1f: %3.1f%%\n", + printf("%2.2f: %3.1f%%\n", mhz, perc * 100.0); } diff --git a/test-fmscan.at b/test-fmscan.at index be9c557..100faa6 100644 --- a/test-fmscan.at +++ b/test-fmscan.at @@ -3,43 +3,45 @@ m4_define([RUN_FMSCAN], [fmscan -q -d m4_if([$1], [], test, ['test $1'])]) AT_BANNER([fmscan]) AT_SETUP([defaults]) -AT_CHECK([RUN_FMSCAN], [0], [Setting start to tuner minimum 89.0 MHz -Setting end to tuner maximum 91.0 MHz -Scanning range: 89.0 - 91.0 MHz (0.2 MHz increments)... -89.6: 97.7% -90.4: 76.3% +AT_CHECK([RUN_FMSCAN], [0], [Setting start to tuner minimum 89.00 MHz +Setting end to tuner maximum 91.00 MHz +Scanning range: 89.00 - 91.00 MHz (0.20 MHz increments)... +89.60: 97.7% +90.40: 76.3% ]) AT_CLEANUP AT_SETUP([specified range]) AT_CHECK([RUN_FMSCAN -s 89.2 -e 90], [0], -[Scanning range: 89.2 - 90.0 MHz (0.2 MHz increments)... -89.6: 97.7% +[Scanning range: 89.20 - 90.00 MHz (0.20 MHz increments)... +89.60: 97.7% ]) AT_CLEANUP AT_SETUP([specified increment]) -AT_CHECK([RUN_FMSCAN -i 0.1], [0], -[Setting start to tuner minimum 89.0 MHz -Setting end to tuner maximum 91.0 MHz -Scanning range: 89.0 - 91.0 MHz (0.1 MHz increments)... -89.6: 97.7% -90.4: 76.3% -90.5: 61.0% +AT_CHECK([RUN_FMSCAN -i 0.05], [0], +[Setting start to tuner minimum 89.00 MHz +Setting end to tuner maximum 91.00 MHz +Scanning range: 89.00 - 91.00 MHz (0.05 MHz increments)... +89.60: 97.7% +89.65: 97.7% +90.35: 76.3% +90.40: 76.3% +90.50: 61.0% ]) AT_CLEANUP AT_SETUP([specified threshold]) -AT_CHECK([RUN_FMSCAN -t 90], [0], [Setting start to tuner minimum 89.0 MHz -Setting end to tuner maximum 91.0 MHz -Scanning range: 89.0 - 91.0 MHz (0.2 MHz increments)... -89.6: 97.7% +AT_CHECK([RUN_FMSCAN -t 90], [0], [Setting start to tuner minimum 89.00 MHz +Setting end to tuner maximum 91.00 MHz +Scanning range: 89.00 - 91.00 MHz (0.20 MHz increments)... +89.60: 97.7% ]) AT_CLEANUP AT_SETUP([override range]) AT_CHECK([RUN_FMSCAN -o], [0], -[Scanning range: 87.9 - 107.9 MHz (0.2 MHz increments)... -90.5: 61.0% +[Scanning range: 87.90 - 107.90 MHz (0.20 MHz increments)... +90.50: 61.0% ]) AT_CLEANUP -- 2.11.4.GIT