Add precision to printed frequency values and update tests to match
authorSebastian Mäki <sebastian@tico.fi>
Wed, 6 Mar 2013 06:41:44 +0000 (6 08:41 +0200)
committerSebastian Mäki <sebastian@tico.fi>
Wed, 6 Mar 2013 06:41:44 +0000 (6 08:41 +0200)
When using 0.01 increments fmscan should now print the correct
frequencies instead of rounding the values.

fmscan.c
test-fmscan.at

index 2b24f0b..1f800fb 100644 (file)
--- 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);
        }
 
index be9c557..100faa6 100644 (file)
@@ -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