<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>