<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">This only affects scanning, or specifically searching a range of frequencies.  I could hear it in the example from usage -f 118M:137M:25k.  For some reason the step changes as the loop executes so the frequencies look like:<br><br>118950000<br>118975000<br>119000000  ok to here<br>119257000<br>119282000<br>119307000<br>119332000<br>119357000<br>119382000<br>119407000<br>119432000<br>119457000<br>119482000<br>119507000<br>119532000<br>119789000<br>119814000<br>119839000<br>119864000<br><br>The frequencies should be at 25 KHz intervals.<br><br>I don't have a diff because I have several other changes in my version, but my frequency_range() now looks like:<br><br>void frequency_range(struct fm_state *fm, char *arg)<br>{<br>        char *start, *stop, *step;<br>        int
 i;<br>        int frst, frstp, frdelta;<br>        start = arg;<br>        stop = strchr(start, ':') + 1;<br>        stop[-1] = '\0';<br>        step = strchr(stop, ':') + 1;<br>        step[-1] = '\0';<br>        frst = (int)atofs(start);<br>        frstp = (int)atofs(stop);<br>        frdelta = (int)atofs(step);<br>        fprintf(stderr,"start: %i, stop: %i, step: %i\n",frst,frstp,frdelta);<br>// step was changing here somehow:<br>//      for(i=(int)atofs(start); i<=(int)atofs(stop); i+=(int)atofs(step))<br>        for (i=frst; i<=frstp;
 i+=frdelta)<br>        {<br>                fm->freqs[fm->freq_len] = (uint32_t)i;<br>                fm->freq_len++;<br>        }<br>        stop[-1] = ':';<br>        step[-1] = ':';<br>}<br><br>I added the fr* variables and used them in the loop.  It sounds better now that none of the frequencies are off.  I'm also logging and those frequencies look OK.<br><br>  Alan<br><br><br>-----<br>
Radio Astronomy - the ultimate DX</td></tr></table>